Как отобразить этот многомерный массив в PHP?

Мне нужно отобразить следующий код, чтобы модели автомобилей (Nissan, Mercedes, Ford) были <h1>, годы были <h3>, а элементы подмассива были <ul>. Как бы я это сделал?

$cars = array (
        array(
            "Nissan",
            2012,
            array (
                "power steering",
                "a/c",
            )
        ),

        array(
            "Mercedes",
            2013,
            array (
                "power steering",
                "leather seats",
                "sunroof"
            )
        ),

        array(
            "Ford",
            2010,
            array (
                "power steering",
                "a/c",
                "power windows",
                "window locks"
            )
        )
);

Вам нужно сделать попытку, если вы хотите, чтобы вам помогли.

Joseph Sible-Reinstate Monica 22.06.2019 07:01

Пожалуйста, проверьте ссылку. надеюсь на работу!!! Ссылка на ссылку

Sivaranjani 22.06.2019 07:03

Привет @mkb, добро пожаловать в stackoverflow! Похоже, у вас хорошее начало, но вы не поделились реальной попыткой решить эту проблему. Прочтите Как спросить, чтобы получить лучшие ответы на свои вопросы. :)

ordonezalex 22.06.2019 09:21
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мы можем просто захотеть определить string здесь в foreach, а затем постоянно append к нему, когда мы проходим через наш массив:

$cars = array(
    array(
        "Nissan",
        2012,
        array(
            "power steering",
            "a/c",
        ),
    ),

    array(
        "Mercedes",
        2013,
        array(
            "power steering",
            "leather seats",
            "sunroof",
        ),
    ),

    array(
        "Ford",
        2010,
        array(
            "power steering",
            "a/c",
            "power windows",
            "window locks",
        ),
    ),
);

$html = '';
foreach ($cars as $key => $car) {
    $html .= '<h1>' . $car[0] . '</h1>';
    $html .= '<h3>' . $car[1] . '</h3>';
    $html .= '<ul>';
    foreach ($car[2] as $key => $attr) {
        $html .= '<li>' . $attr . '</li>';
    }
    $html .= '</ul>';
}

echo $html;

Выход

<h1>Nissan</h1><h3>2012</h3><ul><li>power steering</li><li>a/c</li></ul><h1>Mercedes</h1><h3>2013</h3><ul><li>power steering</li><li>leather seats</li><li>sunroof</li></ul><h1>Ford</h1><h3>2010</h3><ul><li>power steering</li><li>a/c</li><li>power windows</li><li>window locks</li></ul>

Совет

Вивек_23 сообщает, что:

Just implode the li part.

Исходя из этого, наш код, вероятно, будет выглядеть так же просто, как:

$html = '';
foreach ($cars as $car) {
    $html .= '<h1>' . $car[0] . '</h1>';
    $html .= '<h3>' . $car[1] . '</h3>';
    $html .= '<ul><li>' . implode('</li><li>', $car[2]) . '</li></ul>';
}

echo $html;

Спасибо! Я немного изменил его, заменив каждый $html .= на просто echo, и это работает хорошо. Спасибо!

kb_ 22.06.2019 07:21

@Emma Просто взорви часть li.

nice_dev 22.06.2019 07:28

Другие вопросы по теме