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 google或baidu分页代码
Nov 26 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
php二维数组排序方法(array_multisort usort)
Dec 25 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
Mar 01 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
php和asp语法上的区别总结
May 12 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 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
PHP注释实例技巧
2008/10/03 PHP
PHP中str_replace函数使用小结
2008/10/11 PHP
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
PHP学习记录之数组函数
2018/06/01 PHP
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
js实现搜索栏效果
2018/11/16 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Python爬虫文件下载图文教程
2018/12/23 Python
详解Python_shutil模块
2019/03/15 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
2014年征兵标语
2014/06/20 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
病人慰问信范文
2015/02/15 职场文书
公司管理建议书
2015/09/14 职场文书
Linux中如何安装并部署Redis
2022/04/18 Servers
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android