今天調試php時,出現“Cannot use object of type stdClass as array”錯誤,雖然不是什么大錯誤,但也是自己寫代碼不用心造成的,有必要記錄一下,提醒一下自己。

錯誤代碼:

Cannot use object of type stdClass as array

国产视频app含義:不能將stdClass類型的對象用作數組

解釋:對象類型的變量,被當作了數組處理,所以php會拋出了錯誤。

錯誤過程:

錯誤的php代碼

php代碼:

<?php
$json = '{"name":"飛鳥慕魚","host":"feiniaomy.com","author":"mochu"}';
$arr = json_decode($json);
// 這里輸出數組中的一個元素
echo $arr['name'];
?>

輸出結果:

php會拋出以下錯誤
Cannot use object of type stdClass as array

解決方法:

国产视频app以上的代碼,是利用 json_decode() 函數將一個json字符串轉換成數組,并輸出。但 json_decode() 函數由于沒有設置第二個參數,所以輸出的變量類型依然是對象,就造成以上的錯誤。

代碼修正如下:

php代碼:

<?php
$json = '{"name":"飛鳥慕魚","host":"feiniaomy.com","author":"mochu"}';
//修改后的代碼
$arr = json_decode($json,true);
echo $arr['name'];
?>

輸出結果:飛鳥慕魚