2015-02-23 42 views
0

我有在php以下數組:如何定位數組內的對象?

$myarray = array(
      array('normaal' => _("Normale versie"),'extra' => "Wel rillen"), 
      array('aangepast' => _("De aangepaste versie"),'extra' => "Niet rillen") 
     ); 

我試圖讓HTML的輸出如下:

<div class="container"> 
    Normale versie 
    <br> 
    Wel rillen 
</div> 
<div class="container"> 
    De aangepaste versie 
    <br> 
    Niet rillen 
</div> 

我試過循環數組用foreach循環,如下所示:

foreach ($myarray as $key => $value) { 
    echo '<div class="container">'; 
    echo $value[0]; 
    echo '<br>'; 
    echo $value['extra']; 
    echo '</div>'; 
} 

希望$value[0]將針對數組中的第一個對象的值。然而,這個目標是整個對象,因此不會返回任何內容導致以下錯誤的輸出:

<div class="container"> 

    <br> 
    Wel rillen 
</div> 
<div class="container"> 

    <br> 
    Niet rillen 
</div> 

我莫名其妙地需要通過它的對象名稱爲目標的第一arrayitem,這個對象的名稱是每個數組項不同,我怎麼去定位它的內容不知道什麼對象名字將會是?

回答

0

對於你的情況,使用key()拿到鑰匙的名稱,如:

foreach ($myarray as $key => $value) { 
    echo '<div class="container">'; 
    echo $value[key($value)]; 
    echo '<br>'; 
    echo $value['extra']; 
    echo '</div>'; 
} 
0

你有一個關聯數組,沒有索引。所以你的數組實際上不包含「0」元素。但你可以通過調用first()函數獲得嵌套數組的第一個元素。 你的代碼看起來就像這樣:

foreach ($myarray as $key => $value) { 
    echo '<div class="container">'; 
    echo first($value); 
    echo '<br>'; 
    echo $value['extra']; 
    echo '</div>'; 
} 
0

我相信這是一個二維數組。

第一個[]是數組對象的位置,第二個[]是該對象數組中項目的位置。

foreach ($myarray as $key => $value) { 
    echo '<div class="container">'; 
    echo $value[0][0]; 
    echo '<br>'; 
    echo $value[0]['extra']; 
    echo '</div>'; 
} 
0

使用此

foreach ($myarray as $key => $value) { 
    echo '<div class="container">'; 
    echo first($value); 
    echo '<br>'; 
    echo $value['extra']; 
    echo '</div>'; 
} 
0
<?php 
$myarray = array(
    array('normaal' => "Normale versie", 'extra' => "Wel rillen"), 
    array('aangepast' => "De aangepaste versie", 'extra' => "Niet rillen") 
); 
foreach ($myarray as $key => $value) { 
    echo '<div class="container">'; 
    reset($value); 
    echo $value[key($value)]; 
    echo '<br>'; 
    echo $value['extra']; 
    echo '</div>'; 
} 
相關問題