2016-04-14 16 views
0

コンテンツを複数回表示するPHPの配列をループ:今はjQueryのは、私はこのPHPの配列を持っている

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

私は期待してい:私の目標はcolor値を得ることである

はので、私はこのループを書いた

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 
     ) 

) 

結果は、このことにする:

964d11 
e49fca 

しかし、結果はactualyこれです:

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

誰でもここで何が起こっているか考えていますか? 事前に感謝します!

+0

'PHP配列 'を' JavaScript Array'に変換し、より良い結果を得るためにトラバースする必要があります。 –

+0

私はあなたのコードとその欲望の出力を与えてみました。 PHP 5.5.12でうまく動作します。ちょうどコピーして私のローカルに貼り付け、私のために働いています。 – RJParikh

+0

@RuchishParikhとても奇妙です:/ –

答えて

0

期待通りに動作するはずです。console.log(this.color);を試しましたか?

そうでなければ、この代替試すことができます。これが動作するコード

var eachOrders = <?php echo json_encode($myOrders); ?>; jQuery.each(eachOrder, function(key, value) { console.log(value[key][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']); 
}); 
0

0

を試してみてください

for(var i = 0; i < orders.length; i++){ 
    console.log(orders[i].color); 
} 
関連する問題