Php 遍历json数组
我想使用Php 遍历json数组,php,jquery,json,Php,Jquery,Json,我想使用获取json数组的值 这里是我设置数组值的地方 $allRecords= array(); while($row = mysql_fetch_array($result)){ $oneRecord[] = array("orderNo"=>$row['order_no'],"orderDate"=>$row['order_date'],"orderTime"=>$row['order_Time']); array_push(&am
获取json数组的值
这里是我设置数组值的地方
$allRecords= array();
while($row = mysql_fetch_array($result)){
$oneRecord[] = array("orderNo"=>$row['order_no'],"orderDate"=>$row['order_date'],"orderTime"=>$row['order_Time']);
array_push(&$allRecords,$oneRecord);
}
echo json_encode($allRecords);
下面是我在jquery中所做的
$.post("controllers/OrderViewer.controller.php?action=viewOrders",param,function(result){
// var data = JSON.parse(result); // I tried this but doesn't work
// var data= eval(result); // I tried this but doesn't work
$.each(result,function(index,v){
alert(index +" "+ v.orderNo); // return undefined for values
// what should I write here to reach array element
});
});
我应该写些什么。每个都可以得到数组元素
下面是响应数据结构
Array
(
[0] => Array
(
[orderNo] => 1
[orderDate] => 2011-02-12
[orderTime] => 00:00:10
)
[1] => Array
(
[orderNo] => 2
[orderDate] => 2011-02-12
[orderTime] => 11:10:00
)
)如果index
和v
在each()
循环中返回未定义的值,则result
的值不能是您认为的值。在这里取得进展的唯一方法是让您看到结果实际上是什么样子的
它实际上是一个数组吗?如果是,数组中的项目是什么?他们是你所期望的吗?如果不是数组,它是什么
查看result
的最佳方法是在each()
循环的开始处设置一个断点,并在调试器中查看result
。Chrome和Safari自带了内置调试器,需要花费15分钟来学习如何设置断点,然后在到达断点点后检查变量值。Firefox有一个免费的插件(Firebug),它也提供了一个调试器。IE有一些工具,你可以通过调试器从MS下载。只需做一个console.log(data)并查看一下数据对象的结构。也许值得将你的示例简化为$。每个调用都有一个分配给结果变量的JavaScript对象数组。您可以检查从php页面返回的内容,看看应该看到什么。在这一点上,这纯粹是一个JavaScript问题。至于在$.each函数中输入什么,您可以尝试result[index].orderNo。我相信您的jquery AJAX调用将从PHP脚本中收到一个字符串。您需要执行var data=eval(result),然后尝试迭代数据,而不是结果。