php數群組轉換js數組操作及json_encode應用

來源:互聯網
上載者:User

對於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只能用對象和數組。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.