jQuery在php数组上循环多次显示内容


jQuery looping over php array displaying content multiple times

我有这个php数组:

Array
(
    [0] => Array
        (
            [name] => Name1
            [schedule] => Array
                (
                    [0] => Array
                        (
                            [attractie] => Hey
                            [start] => 0930
                            [end] => 1200
                        )
                    [1] => Array
                        (
                            [attractie] => There
                            [start] => 1300
                            [end] => 1400
                        )
                )
            [link] => link
            [color] => 964d11
        )
    [1] => Array
        (
            [name] => Name2
            [schedule] => Array
                (
                    [0] => Array
                        (
                            [attractie] => Hey
                            [start] => 1200
                            [end] => 1530
                        )
                    [1] => Array
                        (
                            [attractie] => There
                            [start] => 1000
                            [end] => 1100
                        )
                )
            [link] => link
            [color] => e49fca
        )
)

我的目标是得到color值,所以我写了这个循环:

var orders = <?php echo json_encode($myOrders); ?>;
jQuery.each( orders, function(key, value) {
    console.log(value.color);
});

现在我期待的结果是:

964d11
e49fca

但结果实际上是这样的:

964d11
e49fca
964d11
e49fca
964d11
e49fca
964d11
e49fca

有人知道这里发生了什么吗?非常感谢!

这应该能正常工作,你试过使用console.log(this.color);吗?

否则,您可以尝试此替代方案:

for(var i = 0; i < orders.length; i++){
    console.log(orders[i].color);
}

试试这个

var orders_json = '<?php echo json_encode($myOrders); ?>';
var orders = jQuery.parseJSON(orders_json);
jQuery.each(orders, function (key, value) {
     console.log(value['color']);
});

请尝试以下代码

var eachOrders = <?php echo json_encode($myOrders); ?>; jQuery.each( eachOrder, function(key, value) { console.log(value[key][color]); });

希望这将工作