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