Как мне нацелиться на объект внутри массива?

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>

Мне почему-то нужно настроить таргетинг на первый массив с помощью имени объекта, это имя объекта для каждого элемента массива отличается, как я могу настроить таргетинг на него, не зная, каким будет имя объекта?

Теги:
object
arrays

5 ответов

0
Лучший ответ

для вашего случая, используйте ключ(), чтобы получить имя ключа, как:

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

Я считаю, что это ДВУМЕРНАЯ МАССА.

первый [] - это местоположение объекта массива, а второй [] - это местоположение элемента в массиве oject.

foreach ($myarray as $key => $value) {
    echo '<div class="container">';
    echo $value[0][0];
    echo '<br>';
    echo $value[0]['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>';
}
0

Использовать это

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню