Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 遍历json数组_Php_Jquery_Json - Fatal编程技术网

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),然后尝试迭代数据,而不是结果。