php 读取json数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 读取json数组相关的知识,希望对你有一定的参考价值。

请教一下,如何用php读取 JSON数组里面的值呢?
现在想把 A_Name第一个值 a1 值读取出来
<?php
$Tdata='["A_Name":"a1","ICNo":"","A_ContNo":"","A_QQNo":"","A_Name":"a2","ICNo":"","A_ContNo":"","A_QQNo":"","A_Name":"a3","ICNo":"","A_ContNo":"","A_QQNo":""]';

echo $Tdata . '<br/>';
$arr=json_decode($_POST['Tdata']);
echo (stripcslashes ($arr->A_Name[0]));
?>

参考技术A <?php
$Tdata='["A_Name":"a1","ICNo":"","A_ContNo":"","A_QQNo":"","A_Name":"a2","ICNo":"","A_ContNo":"","A_QQNo":"","A_Name":"a3","ICNo":"","A_ContNo":"","A_QQNo":""]';

$arr=json_decode($Tdata,true);
//var_dump($arr);
echo stripcslashes ($arr[0][A_Name]);
?>
上面的方法可以打印输出,json_decode($Tdata)输出的结果是一个对应,而json_decode($Tdata,true)输出的是一个数组追问

谢谢,请教一下, $arr[0][A_Name] 和 $arr[0]->A_Name 有什么区别呢?
我想读出 $num=count($A_Name); 就是A_Name在数组里面的数量多少,
还有怎么用 print_r把 A_Name 所有的都读出来呢?

追答

你那种方法没错,也可以用,这是转化为数组方便。
$arr[0][A_Name] 这个是数组,$arr[0]->A_Name这个是指针指向一个值的地址,你可以把json_decode($Tdata)输出的值打印出来,里面有三个对象。
而json_decode("$arr",true)是把它强制生成PHP关联数组,下面的方法可以得出里面的个数

本回答被提问者采纳
参考技术B 代码应该是:
<?php
$Tdata='["A_Name":"a1","ICNo":"","A_ContNo":"","A_QQNo":"","A_Name":"a2","ICNo":"","A_ContNo":"","A_QQNo":"","A_Name":"a3","ICNo":"","A_ContNo":"","A_QQNo":""]';

echo $Tdata . '<br/>';
$arr=json_decode($Tdata);
print_r($arr[0]->A_Name);
?>
参考技术C json_decode($Tdata) 输出就行 参考技术D 你问的是什么啊?这个程序没有问题啊追问

可是读取不出来啊。我就想把数组里面的数据读取出来啊

第5个回答  2012-06-02 $arr['A_Name']

求JS如何读取PHP里的多维数组?

PHP数组内容如下:
Array ( [0] => Array ( [0] => [1] => [2] => [3] => ) [1] => Array ( [0] => www.baidu.com/a/ [1] => www.baidu.com/b/ [2] => www.baidu.com/c/ [3] => www.baidu.com/d/ ) )

一位老师提醒我说:
用js获取节点a,这时获取的是个数组,数组中每一个单元就是一个网址.

具体代码应该怎么写呢?

参考技术A 在php里面json_encode($array),然后echo输出,js就可以获取到。本回答被提问者和网友采纳

以上是关于php 读取json数组的主要内容,如果未能解决你的问题,请参考以下文章

php怎么输出json数组?

PHP如何把数据写入JSON文件并在另一PHP文件读取JSON数据?

PHP传递通过AJAX传递JSON对象数组到前台,前台解析,遍历JSON

php如何将mysql数据转为数组

php 二维数组传递给 js 问题解决记录

PHP如何读取json数据