我在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 :(得分:0)
根据您的情况,使用key()获取密钥名称,如下:
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo $value[key($value)];
echo '<br>';
echo $value['extra'];
echo '</div>';
}
答案 1 :(得分:0)
你有一个关联数组,没有索引。所以你的数组实际上不包含“0”元素。但是你可以通过调用first()
函数来获得嵌套数组的第一个元素。
您的代码将如下所示:
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo first($value);
echo '<br>';
echo $value['extra'];
echo '</div>';
}
答案 2 :(得分:0)
我相信这是一个二维阵列。
第一个[]是数组对象的位置,第二个[]是项目数组中项目的位置。
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo $value[0][0];
echo '<br>';
echo $value[0]['extra'];
echo '</div>';
}
答案 3 :(得分:0)
使用此
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo first($value);
echo '<br>';
echo $value['extra'];
echo '</div>';
}
答案 4 :(得分: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>';
}