導航:首頁 > 編程語言 > php序列化二維數組

php序列化二維數組

發布時間:2022-08-31 08:43:35

1. 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();
}
}
?>

2. php中二維數組如何使用

PHP還是比較常用的,於是我研究了一下PHP二維數組,在這里拿出來和大家分享一下,希望對大家有用使用PHP從數組中取出一段值可使用PHP內置函數array_slice(),但這個函數只支持一維數組,具體使用可查看PHP手冊,array_slice函數並不支持二維數組,。首先了解一下array_slice函數:
arrayarray_slice(arrayarray,intoffset[,intlength[,boolpreserve_keys]])array_slice()
返回根據offset和length參數所指定的array數組中的一段序列。
實例:從一維數組中取出一段值
<?php$arrayarray=array('b','i','u','u','u');$result=array_slice($array,0,4);print_r($result);?>
實例從數組$array中取出四個值,起點數組下標0開始,結果如下:從一維數組取出一段值非常簡單,直接使有內置函數array_slice。PHP二維數組的取值同樣需要使用array_slice函數,實例二維數組數據如下:
$arrayarray=array();
$array[1]=array('1'=>'b1','2'=>'i1','3'=>'u1','4'=>'u1','5'=>'u1');
$array[2]=array('1'=>'b2','2'=>'i2','3'=>'u2','4'=>'u2','5'=>'u2');
$array[3]=array('1'=>'b3','2'=>'i3','3'=>'u3','4'=>'u3','5'=>'u3');
$array[4]=array('1'=>'b4','2'=>'i4','3'=>'u4','4'=>'u4','5'=>'u4');
$array[5]=array('1'=>'b5','2'=>'i5','3'=>'u5','4'=>'u5','5'=>'u5');
$array[6]=array('1'=>'b6','2'=>'i6','3'=>'u6','4'=>'u6','5'=>'u6');
$array[7]=array('1'=>'b7','2'=>'i7','3'=>'u7','4'=>'u7','5'=>'u7');
如上二維數組,如果需要取出其中某段,需要知道取段開始與結束在數組中的位置,考慮到應用的特殊性,只從第一個數組開始,在這個二維數組中取出需要的數組個數。方法如下:
functionarray_silice_func(array$array,$limit){$k=$count=0;$temp=array();foreach($arrayas$key=>$value){$countcount=count($value);if($count+$k>=$limit){$t=array_slice($value,0,$limit-$k);$temp[$key]=$t;break;}$temp[$key]=$value;$k+=$count;}return$temp;}

APC方法實現PHP上傳多個文件原理剖析
新手必看PHP上傳文件進度全面揭秘
經驗之談PHP數組函數總結
深入學習PHP數組函數使用方法
使用如下:print_r(array_silice_func($array,5))取出二維數組的5個值,結果如下:Array([1]=>Array([0]=>b1[1]=>i1[2]=>u1[3]=>u1[4]=>u1))依此類推,取出所需要的數組個數。由於PHP二維數組的使用局限性,這里沒有實現從二維數組某個下標開始,取出多少個數組個數的需求,不過這也是值得探討的地方。以上就關於如何使用PHP從二維數組中取出一段指定值,希望對大家有幫助。

3. PHP,怎麼定義二維數組

<?php
$list=array
(
array("a",1,11),
array("b",2,12),
array("c",3,13),
array("d",4,14)
);
echo"name:".$list[0][0].":value1:".$list[0][1].",value11:".$list[0][2].".<br>";
echo"name:".$list[1][0].":value2:".$list[1][1].",value12:".$list[1][2].".<br>";
echo"name:".$list[2][0].":value3:".$list[2][1].",value13:".$list[2][2].".<br>";
echo"name:".$list[3][0].":value4:".$list[3][1].",value14:".$list[3][2].".<br>";
?>

4. php怎樣定義二維數組

$obj
=
array(16=>16);
for($i=0;$i<16;$i++)
{
for($j=0;$j<16;$j++)
{
$obj[$i]=$j;
}
}
我想你的意思是這樣
程序中的錯誤:
1.array使用方法錯了.array();
2.$i和$j兩個變數你在for裡面寫為'i','j'應該為'$i''$j'
3.$obj[i][j]=$k;這里也是基本變數定義出錯,變數要加上$符號
4.$k未賦值...
5.還有...
同學多看看基礎教材

5. 用php怎麼處理成二維數組啊

<?php
$str = '{{2015-02-07,20},{2015-02-08,21},{2015-02-09,1},{2015-02-10,31}}';
$arr = explode('},{', trim($str, '{}'));

echo "<pre>";
print_r($arr);

function to_arr($v){
return explode(',', $v);
}
$arr = array_map('to_arr', $arr);

print_r($arr);
echo "</pre>";
exit;

6. php怎麼操作才能把這個二維數組加進資料庫裡面

可以按照ly4885806的方法序列化成字元串插入資料庫,不過這個只能插入一個欄位不循環
如果你的數據是需要插入多個行和欄位的話只能循環了
$Array=Array([0]=>Array([0]=>張三[1]=>70)[1]=>Array([0]=>李四[1]=>80)[2]=>Array([0]=>王五[1]=>90)
<?
$in_value_arr=array();
foreach($Arrayas$key=>$value){
foreach($valueas$k=>$v){
$in_value_arr[]="(**,**,**)";
}
$in_value='('.implode('),(',$in_value_arr).')';
$sql="INSERTINTOtbl_name(col1,col2)VALUES{$in_value};";
}
?>

7. php一維數組變二維數組

<?php

$a=array('a0'=>'0001','b0'=>'2','a1'=>'0003','b1'=>'6');
$array=change($a,1);
print_r($array);


functionchange($array,$num){
$b=array();
for($i=0;$i<=$num;$i++){
$array=array();
$array['id']=empty($a['a'.$i])?"":$a['a'.$i];
$array['num']=empty($a['b'.$i])?"":$a['b'.$i];
$b[]=$array;
}
return$b;
}

?>

基本實現了你所要的功能

8. php數組序列化a:1:{i:0;s:1:"1"} 的詳細解釋

1、首先創建好一個數組然後序列化,array("table" => member, "field" => 1,"rule" => -0 ,"cycle" => 24 ,"max" => 1 )。

閱讀全文

與php序列化二維數組相關的資料

熱點內容
redhatlinux最新 瀏覽:177
python字典編程詞彙 瀏覽:144
微信和伺服器如何通訊 瀏覽:10
百家號伺服器配置有什麼用 瀏覽:598
怎麼為電腦加密 瀏覽:58
伺服器出現差錯是什麼意思 瀏覽:616
蘋果app移到商店裡怎麼刪掉 瀏覽:254
phpjsphtml 瀏覽:63
吃雞手機國際服伺服器超時怎麼辦 瀏覽:68
努比亞Z5無命令 瀏覽:642
展示網站雲伺服器 瀏覽:872
代碼混淆器php 瀏覽:367
貝恩pdf 瀏覽:208
丙烯pdf 瀏覽:368
雲伺服器華碩 瀏覽:713
sublime3運行python 瀏覽:191
怎麼把安卓視頻傳到蘋果上面 瀏覽:83
手機拍鬼片用什麼app 瀏覽:642
爬山虎app是干什麼用的 瀏覽:507
有哪些寫給程序員的歌 瀏覽:51