兩種方法:1、使用“(Object)$arr”語句強(qiáng)制轉(zhuǎn)換;2、用“json_decode(json_encode($arr))”語句,通過json_encode將數(shù)組轉(zhuǎn)成JSON數(shù)據(jù),再通過json_decode將JSON數(shù)據(jù)轉(zhuǎn)換成對象。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php將一維數(shù)組轉(zhuǎn)為對象的兩種方法
方法1、利用“Object”關(guān)鍵字強(qiáng)制轉(zhuǎn)換
只需在要轉(zhuǎn)換的數(shù)組變量之前加上用括號括起來的目標(biāo)類型“(object)
”
<?php $arr=['a'=>10,'b'=>100,'c'=>'Hello']; var_dump($arr); $obj=(Object)$arr; var_dump($obj); ?>
方法2、借助JSON數(shù)據(jù)中轉(zhuǎn)
json_decode(json_encode($arr))
-
先用json_encode()將數(shù)組轉(zhuǎn)換成JSON數(shù)據(jù)
-
再用json_decode()將JSON數(shù)據(jù)轉(zhuǎn)換成對象
<?php $arr=['a'=>10,'b'=>100,'c'=>'Hello']; var_dump($arr); $JSON=json_encode($arr); $obj=json_decode($JSON); var_dump($JSON); var_dump($obj); ?>
說明:
json_encode()用于對變量進(jìn)行 JSON 編碼,會返回字符串,包含了 value 值 JSON 形式的表示。
json_decode()用于對JSON數(shù)據(jù)進(jìn)行解碼,轉(zhuǎn)換為PHP變量
json_decode (json[,json [,json[,assoc = false [, $depth = 512 [, $options =0 ]]])
注意:
1、$ json 為待解碼的數(shù)據(jù),必須為utf8編碼的數(shù)據(jù);
2、$ assoc 值為TRUE時返回數(shù)組,F(xiàn)ALSE時返回對象;
3、$ depth 為遞歸深度;
4、$option 二進(jìn)制掩碼,目前只支持 JSON_BIGINT_AS_STRING;
5、一般只用前面兩個參數(shù),如果要數(shù)據(jù)類型的數(shù)據(jù)要加一個參數(shù)true。
<?php $JSON='{"a":10,"b":100,"c":"Hello"}'; var_dump($JSON); $obj=json_decode($JSON); var_dump($obj); $arr=json_decode($JSON,TRUE); var_dump($arr); ?>
推薦學(xué)習(xí):《PHP視頻教程》