2015-02-23 40 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>'; 
} 
相关问题