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 4.2书写安全的脚本
Oct 09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
检查php文件中是否含有bom的函数
May 31 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
PHP正则验证Email的方法
Jun 15 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
laravel通用化的CURD的实现
Dec 13 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 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
我的论坛源代码(五)
2006/10/09 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
豆瓣网的jquery代码实例
2008/06/15 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
治超工作实施方案
2014/05/04 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
2014年售票员工作总结
2014/11/19 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技