php数组转换js数组操作及json_encode的用法详解


Posted in PHP onOctober 26, 2013

对于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 相关文章推荐
PHP+DBM的同学录程序(5)
Oct 09 PHP
PHP 日期加减的类,很不错
Oct 10 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
Yii学习总结之安装配置
Feb 22 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
windows系统php环境安装swoole具体步骤
Mar 04 PHP
php while循环得到循环次数
Oct 26 #PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 #PHP
php中的PHP_EOL换行符详细解析
Oct 26 #PHP
一个简单且很好用的php分页类
Oct 26 #PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 #PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 #PHP
php批量更改数据库表前缀实现方法
Oct 26 #PHP
You might like
PHP4中实现动态代理
2006/10/09 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
php生成随机颜色的方法
2014/11/13 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
详解Vue项目中实现锚点定位
2019/04/24 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
用Python抢过年的火车票附源码
2015/12/07 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
会计学专业学生的求职信范文
2014/01/27 职场文书
百日安全生产活动总结
2014/07/05 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP