2016-04-14 29 views
0

içeriği birden fazla görüntülendiği php dizisi üzerinde döngü: ArtıkjQuery Bu php dizi var

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

Ben bekliyorum: Amacım color değeri elde etmektir

yüzden bu döngüyü yazdım

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 
     ) 

) 

sonuç bu olması:

964d11 
e49fca 

Ama sonuç aslında şudur:

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

Burada neler olup bittiği hakkında herhangi bir fikri olan var mı? Çok teşekkürler şimdiden!

+0

İlk önce 'PHP Array'ı' JavaScript Array'’e dönüştürmeli ve daha iyi sonuçlar için hareket etmelisiniz. –

+0

Kodunuzu denedim ve aynı zamanda arzu çıkışı veriyor. PHP 5.5.12'de benim için iyi çalışıyor. Sadece yerel olarak kopyalayıp yapıştırıyorum ve benim için çalışıyorum. – RJParikh

+0

@RuchishParikh Hmm çok tuhaf:/ –

cevap

0

Beklendiği gibi çalışmalı, console.log(this.color);'u kullanmayı denediniz mi?

Aksi takdirde, bu alternatif deneyebilirsiniz: Bu çalışacak kod

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

Umut aşağıda deneyin bu

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

deneyin

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