首頁 > 後端開發 > php教程 > 多維數組json_encode之後產生物件而不是數組問題

多維數組json_encode之後產生物件而不是數組問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-29 08:58:05
原創
1404 人瀏覽過

json_encode函數可以對PHP的陣列進行編碼,傳回值是json格式的字串。對於多維數組進行json_encode,我一直以為是返回數組形式(形如{{obj1}, {obj2}, {obj3}}),但今天介面返回給客戶端發現變成了物件而不是數組(形如[{....},{.....},{.....}]),不方便客戶端操作,檢查程式碼才發現,我之前一個unset操作把多維數組的第一個單元被刪除了,導致回傳結果不一樣,下面看程式碼:

$arr = array(
<span style="white-space:pre">	</span>0=>array('name'=>'张三','age'=>'120'),
<span style="white-space:pre">	</span>1=>array('name'=>'李四','age'=>'111'),
<span style="white-space:pre">	</span>2=>array('name'=>'王五','age'=>'233')
);


$res = json_encode($arr);
echo "<script>console.log(&#39;$res&#39;);</script>";
登入後複製
結果如下:

多維數組json_encode之後產生物件而不是數組問題

解決的方法是用sort函數再次索引即可。


多維數組json_encode之後產生物件而不是數組問題

$arr = array(
	0=>array('name'=>'张三','age'=>'120'),
	1=>array('name'=>'李四','age'=>'111'),
	2=>array('name'=>'王五','age'=>'233')
);

unset($arr[0]); 
$res = json_encode($arr);
echo "<script>console.log(&#39;$res&#39;);</script>";
登入後複製

  好吧......這似乎沒有寫一篇博客的價值,就當是給自己提個醒吧

以上就介紹了多維數組json_encode之後產生物件而不是數組問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 多維數組json_encode之後產生物件而不是數組問題

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
跟著老師寫沒有成功
來自於 1970-01-01 08:00:00
0
0
0
http://run.php.cn/線上PHP程式運行結果不正確
來自於 1970-01-01 08:00:00
0
0
0
怎麼用thinkphp3.2和ajax模糊查詢
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板