您好,登錄后才能下訂單哦!
怎么在php中將數組轉換成js數組?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
對于php,個人感覺能夠熟練操作數組和字符串,基本上已經是入門了,php本身有很多操作數組和字符串的函數,今天在做一個功能時,需要用Js動態的創建門店信息,這些信息是要從后臺添加的,想來想去,通過php讀取數據庫,得到數組,然后將數組轉化成符合需求js數組,
php數組形式為:
復制代碼 代碼如下:
$newArray = array(array('地區'=>'北京地區','items'=>'10','detail'=>array(0=>array('店名'=>'旗艦店','url'=>'http://www.'),1=>array('店名'=>'jjjj','url'=>'http://www.fdd'))),
array('地區'=>'上海地區','items'=>'11','detail'=>array(0=>array('店名'=>'旗艦店','url'=>'http://www.'),1=>array('店名'=>'jjjj','url'=>'http://www.fdd'))),
);
這里用的一個很方便的函數:json_encode();
var jsarray = new Array();
jsarray = <?php echo json_encode($newwarr);?>;
用console.log();可以看到jsarray的結構。
在這里如何構造這樣一個符合要求的php數組呢?(我用的是phpcms系統)
復制代碼 代碼如下:
$sql= 'select catid,catname,items from category where parentid=10';
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$arrArea['地區'] = $row['catname'];
$arrArea['items'] = $row['items'];
unset($arrArea['detail']);//這一步很關鍵,要不得出的信息就會累加。
$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:對變量進行 JSON 編碼,該函數只能接受 UTF-8編碼的數據 .
相對應的還有json_decode,第二個參數為true,返回數組,執行相逆的過程。
json只能用對象和數組。
看完上述內容,你們掌握怎么在php中將數組轉換成js數組的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。