У меня есть следующий массив в 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>
Мне почему-то нужно настроить таргетинг на первый массив с помощью имени объекта, это имя объекта для каждого элемента массива отличается, как я могу настроить таргетинг на него, не зная, каким будет имя объекта?
для вашего случая, используйте ключ(), чтобы получить имя ключа, как:
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo $value[key($value)];
echo '<br>';
echo $value['extra'];
echo '</div>';
}
У вас есть ассоциативный массив, а не индексированный. Таким образом, ваш массив фактически не содержит элемент "0". Но вы можете получить первый элемент вложенного массива, вызвав функцию first()
. Код будет выглядеть так:
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo first($value);
echo '<br>';
echo $value['extra'];
echo '</div>';
}
Я считаю, что это ДВУМЕРНАЯ МАССА.
первый [] - это местоположение объекта массива, а второй [] - это местоположение элемента в массиве oject.
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo $value[0][0];
echo '<br>';
echo $value[0]['extra'];
echo '</div>';
}
<?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>';
}
Использовать это
foreach ($myarray as $key => $value) {
echo '<div class="container">';
echo first($value);
echo '<br>';
echo $value['extra'];
echo '</div>';
}