php數(shù)組轉(zhuǎn)換js數(shù)組操作及json_encode的用法詳解
對(duì)于php,個(gè)人感覺(jué)能夠熟練操作數(shù)組和字符串,基本上已經(jīng)是入門了,php本身有很多操作數(shù)組和字符串的函數(shù),今天在做一個(gè)功能時(shí),需要用Js動(dòng)態(tài)的創(chuàng)建門店信息,這些信息是要從后臺(tái)添加的,想來(lái)想去,通過(guò)php讀取數(shù)據(jù)庫(kù),得到數(shù)組,然后將數(shù)組轉(zhuǎn)化成符合需求js數(shù)組,
php數(shù)組形式為:
$newArray = array(array('地區(qū)'=>'北京地區(qū)','items'=>'10','detail'=>array(0=>array('店名'=>'旗艦店','url'=>'http://www.'),1=>array('店名'=>'jjjj','url'=>'http://www.fdd'))),
array('地區(qū)'=>'上海地區(qū)','items'=>'11','detail'=>array(0=>array('店名'=>'旗艦店','url'=>'http://www.'),1=>array('店名'=>'jjjj','url'=>'http://www.fdd'))),
);
這里用的一個(gè)很方便的函數(shù):json_encode();
var jsarray = new Array();
jsarray = <?php echo json_encode($newwarr);?>;
用console.log();可以看到j(luò)sarray的結(jié)構(gòu)。
在這里如何構(gòu)造這樣一個(gè)符合要求的php數(shù)組呢?(我用的是phpcms系統(tǒng))
$sql= 'select catid,catname,items from category where parentid=10';
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$arrArea['地區(qū)'] = $row['catname'];
$arrArea['items'] = $row['items'];
unset($arrArea['detail']);//這一步很關(guān)鍵,要不得出的信息就會(huì)累加。
$sql2 = 'select title,url from news where catid='.$row['catid'];
$fendian = mysql_query($sql2);
while ($re=mysql_fetch_assoc($fendian)) {
$item['店名']=$re['title'];
$item['url']=$re['url'];
$arrArea['detail'][] = $item;
}
$newwarr[]=$arrArea;
}
var_dump($newwarr);
json_encode:對(duì)變量進(jìn)行 JSON 編碼,該函數(shù)只能接受 UTF-8編碼的數(shù)據(jù) .
相對(duì)應(yīng)的還有json_decode,第二個(gè)參數(shù)為true,返回?cái)?shù)組,執(zhí)行相逆的過(guò)程。
json只能用對(duì)象和數(shù)組。
- php讓json_encode不自動(dòng)轉(zhuǎn)義斜杠“/”的方法
- 關(guān)于php unset對(duì)json_encode的影響詳解
- PHP中讓json_encode不自動(dòng)轉(zhuǎn)義斜杠“/”的方法
- php json_encode與json_decode詳解及實(shí)例
- PHP使用json_encode函數(shù)時(shí)不轉(zhuǎn)義中文的解決方法
- php json_encode()函數(shù)返回json數(shù)據(jù)實(shí)例代碼
- php中json_encode UTF-8中文亂碼的更好解決方法
- php中json_encode處理gbk與gb2312中文亂碼問(wèn)題的解決方法
- 淺析php中json_encode()和json_decode()
- 基于php解決json_encode中文UNICODE轉(zhuǎn)碼問(wèn)題
相關(guān)文章
Laravel生命周期啟動(dòng)(從創(chuàng)建應(yīng)用實(shí)例到注冊(cè)基礎(chǔ)服務(wù))過(guò)程解析
這篇文章主要介紹了Laravel生命周期啟動(dòng)過(guò)程解析,從創(chuàng)建應(yīng)用實(shí)例到注冊(cè)基礎(chǔ)服務(wù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安裝配置圖文教程 2009年
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安裝配置教程 2009年最新版2009-06-06基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作
這篇文章主要介紹了基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08laravel5.1框架下的批量賦值實(shí)現(xiàn)方法分析
這篇文章主要介紹了laravel5.1框架下的批量賦值實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Laravel5.1框架批量賦值的相關(guān)原理與實(shí)現(xiàn)方法,需要的朋友可以參考下2019-12-12Laravel框架Auth用戶認(rèn)證操作實(shí)例分析
這篇文章主要介紹了Laravel框架Auth用戶認(rèn)證操作,結(jié)合實(shí)例形式分析了Auth用戶認(rèn)證的相關(guān)操作步驟、實(shí)現(xiàn)技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-09-09PHP中把對(duì)象數(shù)組轉(zhuǎn)換成普通數(shù)組的方法
這篇文章主要介紹了PHP中把對(duì)象數(shù)組轉(zhuǎn)成普通數(shù)組的方法,本文直接給出示例代碼,需要的朋友可以參考下2015-07-07