轉(zhuǎn)換方法:1、在要轉(zhuǎn)換的數(shù)組變量之前加上用括號括起來的目標類型“(object)”,例“(Object)$arr”;2、先用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)換成對象的方法
方法一:強制類型轉(zhuǎn)換—-在要轉(zhuǎn)換的變量之前加上用括號括起來的目標類型
允許轉(zhuǎn)換的PHP數(shù)據(jù)類型有:
-
(int)、(integer):轉(zhuǎn)換成整形
-
(float)、(double)、(real):轉(zhuǎn)換成浮點型
-
(string):轉(zhuǎn)換成字符串
-
(bool)、(boolean):轉(zhuǎn)換成布爾類型
-
(array):轉(zhuǎn)換成數(shù)組
-
(object):轉(zhuǎn)換成對象
示例:將數(shù)組轉(zhuǎn)換成對象類型
<?php $arr=['a'=>10,'b'=>100,'c'=>'Hello']; $obj=(Object)$arr; var_dump($arr); var_dump($obj); ?>
輸出:
方法2:使用json_encode()和json_decode()函數(shù)
<?php header('content-type:text/html;charset=utf-8'); $arr=['a'=>10,'b'=>100,'c'=>'Hello']; $arr0 = json_encode($arr); $arr1 = json_decode($arr0,true); $arr2 = json_decode($arr0); var_dump($arr); var_dump($arr0); var_dump($arr1); var_dump($arr2); ?>
輸出:
【推薦學習:《PHP視頻教程》】
說明:
函數(shù) | 描述 |
---|---|
json_encode | 對變量進行 JSON 編碼 |
json_decode | 對 JSON 格式的字符串進行解碼,轉(zhuǎn)換為 PHP 變量 |
json_last_error | 返回最后發(fā)生的錯誤 |
PHP json_encode() 用于對變量進行 JSON 編碼,該函數(shù)如果執(zhí)行成功返回 JSON 數(shù)據(jù),否則返回 FALSE 。
語法
string json_encode ( $value [, $options = 0 ] )
參數(shù)
-
value: 要編碼的值。該函數(shù)只對 UTF-8 編碼的數(shù)據(jù)有效。
-
options:由以下常量組成的二進制掩碼:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
PHP json_decode() 函數(shù)用于對 JSON 格式的字符串進行解碼,并轉(zhuǎn)換為 PHP 變量。
語法
mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
參數(shù)
-
json_string: 待解碼的 JSON 字符串,必須是 UTF-8 編碼數(shù)據(jù)
-
assoc: 當該參數(shù)為 TRUE 時,將返回數(shù)組,F(xiàn)ALSE 時返回對象。
-
depth: 整數(shù)類型的參數(shù),它指定遞歸深度
-
options: 二進制掩碼,目前只支持 JSON_BIGINT_AS_STRING 。