兩種方法:1、使用「(Object)$arr」語句強制轉換;2、用「json_decode(json_encode($arr))」語句,透過json_encode將陣列轉成JSON數據,再透過json_decode將JSON資料轉換成物件。
本教學操作環境:windows7系統、PHP8.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影片教學》
以上是php怎麼將一維數組轉為對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!