2016-03-31 24 views
0

Başka bir dizinin içindeki diziden değerler almaya çalışıyorum. Bu konuda birçok cevap gördüm ama bunu başaramıyorum. Böyle bir dizi var:Başka bir dizinin içindeki bir dizinin Access Değeri

Array 
(
    [0] => Array 
     (
      [listingid] => 1234 
      [availability] => Array 
       (
        [0] => Array 
         (
          [von] => 2015-11-07 
          [bis] => 2016-03-19 
         ) 

        [1] => Array 
         (
          [von] => 2016-03-19 
          [bis] => 2016-03-28 
         ) 

        [2] => Array 
         (
          [von] => 2016-03-28 
          [bis] => 2016-07-30 
         ) 

       ) 

     ) 

    [1] => Array 
     (
      [listingid] => 5678 
      [availability] => Array 
       (
        [0] => Array 
         (
          [von] => 2015-11-07 
          [bis] => 2016-03-19 
         ) 

        [1] => Array 
         (
          [von] => 2016-03-19 
          [bis] => 2016-03-28 
         ) 

        [2] => Array 
         (
          [von] => 2016-03-28 
          [bis] => 2016-07-30 
         ) 

       ) 

     ) 
) 

ve ben değerlerini almak için bunu: normalde gördüm yanıtlara dayalı çalışması gerekir

foreach($first as $key => $value){ 
    echo "Value: " . $value[$key]['availability']['von'] . "<br>"; 
} 

ama bana boş bir değer verir.

Ben de denedim:

foreach($first as $key => $value){ 
    $listid = $value['listingid']; 
    echo $listid; 
} 

ve bu bana listingid değerini verir. Von ve bis için nasıl değer alabilirim?

Herhangi bir öneriniz var mı?

+0

Görünüş:' $ değer [ 'listingid']; sen nasıl eriştiğini 've' availability': '$ değeri [$ key] [ 'kullanılabilirlik'] [ 'von']' . Ve aynı zamanda bu tuşların her ikisinin de hangi boyutta olduğuna bakın .. – Rizier123

+0

Ne demek istiyorsun? – BRG

+1

'$ value ['listingid']' ve '$ value [$ key] ['availability'] ['von']' ile karşılaştırın, böylece ilkini biliyorsunuz. Şimdi de bu iki anahtarın nerede bulunduğunu karşılaştırın: 'listingid' ve' availability' – Rizier123

cevap

1

Sadece yuvalanmış bir döngü çalışması gerekir. Eğer `listingid` nasıl erişim

foreach($first as $value){ 
    echo "Listing ID:".$value['listingid']; 
    echo "<br/>"; 
    foreach($value['availability'] as $availability) { 
     echo "Value: " . $availability['von'] . "<br>"; 
    } 
} 
+0

çok teşekkürler… bunu deniyordum: 'foreach ($ ilk olarak $ anahtar => $ değer) { \t // $ listid = $ değer ['listingid']; \t foreach (ilk ['availability'] $ kullanılabilirlik olarak) { \t \t echo "Değer:". $ kullanılabilirlik ['von']. "
"; \t } 'ancak bana hata veriyordu ..... – BRG

+0

Bunun nedeni $ ilk ['availability'] kullandı. Bunun yerine $ value ['availability'] kullanılmalıydı. :) –

İlgili konular