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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
PHP mkdir()定义和用法
Jan 14 PHP
PHP 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
php 文件上传类代码
Aug 06 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 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
20个PHP常用类库小结
2011/09/11 PHP
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
Sea.JS知识总结
2016/05/05 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
Promise扫盲贴
2019/06/24 Javascript
收集的几个Python小技巧分享
2014/11/22 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
python中yield的用法详解
2021/01/13 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
《木笛》教学反思
2014/03/01 职场文书
成绩单公证书
2014/04/10 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
旷课检讨书范文
2015/01/27 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
创业计划书之水果店
2019/07/18 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技