Разбор массива для отображения только строки PHP

#php #arrays #string

#php #массивы #строка

Вопрос:

У меня есть массив внутри массива внутри массива и так далее:

 array(3) {
    [0]=> array(1) {
        ["weather"]=> array(2) {
            ["ID"]=> string(1) "1"
            ["weather_types"]=> string(5) "Clear"
        }
    }
    [1]=> array(1) {
        ["weather"]=> array(2) {
            ["ID"]=> string(1) "2"
            ["weather_types"]=> string(6) "Clouds"
        }
    }
    [2]=> array(1) {
        ["weather"]=> array(2) {
            ["ID"]=> string(1) "3"
            ["weather_types"]=> string(4) "Rain"
        }
    }
} 
  

Я назначу в качестве переменной, давайте использовать:
$select_item

и тогда строки weather_types, «Ясно», «Облачно» и «Дождь» без кавычек будут единственными данными, которые отображаются в моем списке выбора / опций.

Мне нужно каким-то образом удалить все остальные данные массива, чтобы остались «Ясно», «Облачно» и «Дождь».

затем я сохраню выбранный вариант в таблице базы данных.

Комментарии:

1. также будет использоваться цикл foreach для заполнения списка опций выбора.

2. и что вы пробовали? Похоже, вы хотите, чтобы кто-нибудь сделал эту работу за вас.

Ответ №1:

Предполагая, что $weather это массив, и вы хотите, чтобы value атрибут содержал ID . В любом случае, настройка следующего в соответствии с вашими потребностями должна быть тривиальной.

 foreach ($weather as $select_item) {
  echo '<option value="', $select_item['weather']['ID'], '">', $select_item['weather']['weather_types'], '</option>';
}