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 相关文章推荐
一个更简单的无限级分类菜单代码
Jan 16 PHP
php addslashes及其他清除空格的方法是不安全的
Jan 25 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP实现QQ登录实例代码
Jan 14 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
php批量修改表结构实例
May 24 PHP
PHP图片水印类的封装
Jul 06 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
php Session存储到Redis的方法
2013/11/04 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
php二维码生成
2015/10/19 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
PHP实现git部署的方法教程
2017/12/19 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
js jquery数组介绍
2012/07/15 Javascript
js 走马灯简单实例
2013/11/21 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
详解Python迭代和迭代器
2016/03/28 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
Python单元测试简单示例
2018/07/03 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
python实现大学人员管理系统
2019/10/25 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
详解python内置模块urllib
2020/09/09 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
书法大赛策划方案
2014/06/04 职场文书
老员工辞职信范文
2015/05/12 职场文书
上诉答辩状范文
2015/05/22 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
详解MySQL中的主键与事务
2021/05/27 MySQL
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python