當前位置:首頁 » 編程語言 » php數組初始化

php數組初始化

發布時間: 2023-07-23 07:32:34

php 數組序列化

mixed unserialize ( string str [, string callback] )

unserialize() 對單一的已序列化的變數進行操作,將其轉換回 PHP 的值。返回的是轉換之後的值,可為 integer、float、string、array 或 object。如果傳遞的字元串不可解序列化,則返回 FALSE。

unserialize_callback_func 指令: 如果在解序列化的時候需要實例化一個未定義類,則可以設置回調函數以供調用(以免得到的是不完整的 object 「__PHP_Incomplete_Class」)。可通過 php.ini、ini_set() 或 .htaccess 定義『unserialize_callback_func』。每次實例化一個未定義類時它都會被調用。若要禁止這個特性,只需置空此設定。還需要注意的是 unserialize_callback_func 指令是從 PHP 4.2.0 開始提供使用的。

若被解序列化的變數是一個對象,在成功地重新構造對象之後,PHP 會自動地試圖去調用 __wakeup() 成員函數(如果存在的話)。 例子 1. unserialize_callback_func 示例

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// unserialize_callback_func 從 PHP 4.2.0 起可用
ini_set('unserialize_callback_func','mycallback'); // 設置您的回調函數

function mycallback($classname) {
// 只需包含含有類定義的文件
// $classname 指出需要的是哪一個類
}
?>

<?php
// 這里,我們使用 unserialize() 裝載來自資料庫的 $session_data 數組中的會話數據。
// 此例是描述 serialize() 的那個例子的補充。

$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array ($PHP_AUTH_USER);
if (!odbc_execute ($stmt, &$sqldata) || !odbc_fetch_into ($stmt, &$tmp)) {
// 如果執行出錯或返回錯誤,則初始化為空數組
$session_data = array();
} else {
// 現在我們需要的是 $tmp[0] 中已序列化的數據。
$session_data = unserialize ($tmp[0]);
if (!is_array ($session_data)) {
// 出錯,初始化為空數組
$session_data = array();
}
}
?>

Ⅱ PHP中要使用數組的話必須先定義一個變數為array()嗎

不是必須的,可以不先用array()初始化,例如下面的代碼能正常執行:

<?php
$arr[0]='abc';
$arr[1]='def';
print_r($arr);
?>

並且正確的輸出下面的結果:

Array
(
[0]=>abc
[1]=>def
)


當然,使用數組前使用array()初始化一下有兩個好處,一是如果之前用過這個名字可以初始化,二是程序以後更容易被人看懂,例子代碼:

<?php
$arr=123;
$arr=array();
$arr[0]='abc';
$arr[1]='def';
print_r($arr);
?>

輸出結果與前例相同。

Ⅲ php裡面怎麼新建數組

php裡面新建數據可以通過兩種方式,一種是通過array函數來創建,另一種就是通過賦值[]來創建。

<?php

$arr1=array(1,2,3,4);
var_mp($arr1);

$arr2[0]=1;
$arr2[1]=2;
$arr2[2]=3;
$arr2[3]=4;
var_mp($arr2);

Ⅳ php數組的用法

首先你這種寫法真的很另類,現在PHP比較通用花括弧寫法

(知畢1)對於弱語言PHP來說,不需要像嚴謹語言一樣初始化,在使用的時候自動初始化了。所以聲明了數組之後就可以使用了。而且有些時候都不需要聲明,比如直接寫 $i = 1.25;如果在一個嚴謹的語言中是要報錯的,PHP可以這樣使用。
(2)數組默認索引的是從0開始然後自加1。count($arr)是數組元素個數。假設n是當前數組元素個數,那麼$arr[n-1]就是索引最大的一個元素。添加$arr[n]就相當於在數組後面增加一個元嫌啟素。其實可以寫$arr[] = $ss,效果是一樣的。
(3)演算法思路問題,意思是一個自然數搭者芹能被比它小的素數整除,則它不是素數。
(4)程序沒有錯....

Ⅳ PHP 怎麼隨機獲取數組裡面的值

方法1:
$arr=array(........); //初始化數組
$key=array_rand($arr); //隨機獲取數組的鍵
echo $arr[$key]; //輸出隨機數組值。
改進型:
$arr=array(........);
echo $arr[array_rand($arr)];

方法2:
$arr=array(........); //初始化數組
shuffle($arr); //打亂數組順序
echo array_shift($arr); //輸出新數組的第一個值。

Ⅵ 關於php當中static關鍵字,資料上說只能初始化一次。但是數組變數在定義時賦值會被下一次初始化覆蓋!

你定義了static 就是靜態變數
但是靜態變數的初始化只進行一次,而且是定義靜態變數的時候初始化
static $a = array(1,2,3);
print_r($a);
static $a = array();
這樣實際上是定義了兩次靜態變數,並初始化,實際做會執行其中一個
就是後面這個
上面的代碼實際上會被編譯編程這樣
<?php
function f1(){
static $a = array();

print_r($a);

print_r($a);
}
function f2(){
static $a = array();
$a[] = 1;
$a[] = 2;
$a[] = 3;
print_r($a);
print_r($a);
}

熱點內容
播放這個wifi密碼是多少 發布:2025-02-07 22:34:54 瀏覽:99
視頻存儲時間長了有雪花 發布:2025-02-07 22:24:34 瀏覽:568
哈佛f7x怎麼區分配置 發布:2025-02-07 22:22:34 瀏覽:771
廣州python培訓 發布:2025-02-07 22:22:26 瀏覽:199
陸金所的交易密碼是什麼 發布:2025-02-07 22:19:25 瀏覽:320
如何刪除平板儲存密碼 發布:2025-02-07 22:10:29 瀏覽:747
php微信授權登錄 發布:2025-02-07 22:10:27 瀏覽:378
怎樣編程時鍾 發布:2025-02-07 21:59:38 瀏覽:562
誇克編程 發布:2025-02-07 21:43:43 瀏覽:530
電源450適合哪些配置 發布:2025-02-07 21:25:24 瀏覽:433