对于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数组转换js数组操作及json_encode的用法。需要的朋友可以过来参考下,希望对大家有所帮助
先看一个数组转换的例子: $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); 结果为 {"a":1,"b":2,"c":3,"d":4,"e":5} 再看一个对象转换的例子: $obj->body = 'another post...
在 ajax 横行的今天,json 顺理成章地成为了前后端...当 JavaScript 请求到上面的代码,PHP 将解析数组 $a 为 json 字符串并返回到前端,但事实上在前端拿到的返回结果却是一个数组。复制代码 代码如下:[ “Jack” ,
后来发现在默认的情况之下使用 json_encode 对数组进行 json 格式的转换时候会自动的将数据中含有斜杠的字符串进行转义,但是我们往往有的时候不需要药对它们进行转义的,本文说说如何使用 json_encode 不自动转义...
该函数主要用来将数组和对象,转换为json格式。 复制代码 代码如下:$arr = array (‘a’=>’a’,’b’=>’b’,’c’=’c’,’d’=>’d’,’e’=’e’);echo json_encode($arr); 输出结果: json只接受utf-8编码的...
最近在接口代码当中用到过json_encode,在网上找到说json_encode编码设置为UTF-8中文就不会乱码,经验证这办法确实是有效果的,但是不知道为什么,代码在用过一段时间之后就不太管用了。以下是自己的解决json_encode...
后来发现在默认的情况之下使用 json_encode 对数组进行 json 格式的转换时候会自动的将数据中含有斜杠的字符串进行转义,但是我们往往有的时候不需要药对它们进行转义的,本文说说如何使用 json_encode 不自动转义...
本文实例讲述了php实现数组中索引关联数据转换成json对象的方法。分享给大家供大家参考。具体实现方法如下: public static function encode(&$var) { return '{'.implode(',',self::encodeExcute($var)).'}'; } ...
快速:JSON使用本地json_encode()进行编码可靠:标头是自动发送的完成:您可以添加对象,属性或数组回调/变量或只是JSON选项兼容JSONP 兼容jQuery 缺点: 针对对象进行了优化,因为JSON是对象表示法。用法<?...
通过json_decode(json_encode($object)可以将对象一次性转换为数组,但是object中遇到非utf-8编码的非ascii字符则会出现问题,比如gbk的中文,何况json_encode和decode的性能也值得疑虑。下面上代码:复制代码 代码...
目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。 我写过一篇《数据类型和JSON格式》,...先看一个数组转换的例子: $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode
先看一个数组转换的例子: $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); 结果为:{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5} 再看一个对象转换的例子: $obj->body = '...
先看一个数组转换的例子:$arr = array (‘a’=>1,’b’=>2,’c’=>3,’d’=>4,’e’=>5);echo json_encode($arr); 上面代码的输出结果为:{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5} 再看一个对象转换的例子:复制...
从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 一、json_encode() <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> ...
从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 一、json_encode() 复制代码 代码如下: <?php $arr = array (‘a’=>1,’b’=>2,’c’=>3,’d’=>4,’e’=>5); echo...
如下所示: //json格式数据 $data = '[{ F_ModuleId: 1, F_ParentId: 0, F_EnCode: SysManage,}]'; //转换成数组 ... 您可能感兴趣的文章:php curl获取到json对象并转成数组array的方法php实现数组中索引
最近在查找一个bug的时候,发现前端传过来的json空对象 {} ,被php转换成了空数组 [] 存到了数据库里面, 读取并返回给前端的时候,没有做特殊处理,返回了 [] 给前端,导致一些问题。 所以决定梳理一下php的json转换...
如下所示: header('content-type:application/json;charset=utf8'); $results = array(); while ($row = mysql_fetch_assoc($result_query)) { ...以上这篇php将从数据库中获得的数据转换成json格