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'))), ); $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); $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);