Показать многомерный массив в виде списка - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь отобразить многомерный массив, и я делаю это очень статично.Интересно, как я мог достичь тех же результатов с помощью foreach?

Я пытался получить доступ к индивидуальным, который работает, но техника кодирования кажется неприемлемой.

Таблица

         array(
         "name" => "Bob",
        "occupation" => "employee",
         "salary" => 1500,
         "specialty" => "programmer"
         ),
         array(
         "name" => "Sally",
        "occupation" => "manager",
        "salary" => 2300,
         "specialty" => "human resources management"
         ),
        array(
         "name" => "Jane",
        "occupation" => "employee",
        "salary" => 800,
        "specialty" => "secretary"
         ),
     );

Моя функция

function printTable($table){
        echo "<h2>Employee #1</h2>";
        echo $table[0]["name"];
        echo $table[0]["occupation"];
        echo $table[0]["salary"];
        echo $table[0]["specialty"];

        echo "<h2>Employee #2</h2>";
        echo $table[1]["name"];
        echo $table[1]["occupation"];
        echo $table[1]["salary"];
        echo $table[1]["specialty"];

        echo "<h2>Employee #3</h2>";
        echo $table[2]["name"];
        echo $table[2]["occupation"];
        echo $table[2]["salary"];
        echo $table[2]["specialty"];
    }

Желаемый результат http://prntscr.com/n5jnnu

Ответы [ 2 ]

1 голос
/ 31 марта 2019

Проверьте это. У вас есть 2D-массив, поэтому нам нужно 2 для циклов, а затем мы печатаем значения ключа (имя является ключом) и значения. Также я добавил счетчик для печати числа сотрудников.

    $counter = 1;
    echo "<ul>";
    foreach($table as $val){
        echo "<h2>Employee #$counter</h2>";
        foreach($val as $key => $val1){
            echo "<li>$key: $val1 </li>";
        }
        echo "<br>";
        $counter++;
    }
    echo "</ul>"
0 голосов
/ 01 апреля 2019

Вы можете легко использовать ключи и значения, доступные в многомерном массиве.

Чтобы вычислить число сотрудников, добавьте 1 к индексу (ключи первого уровня).

Вписав *Элемент 1005 *, находящийся за пределами тега <ul>, позволяет получить внешний вид размещенного снимка с вкладками.

Используйте css для стилизации шрифта тегов <h1> и <h2>.

Проверенный код:

$array = [
    ["name" => "Bob", "occupation" => "employee", "salary" => 1500, "specialty" => "programmer"],
    ["name" => "Sally", "occupation" => "manager", "salary" => 2300, "specialty" => "human resources management"],
    ["name" => "Jane", "occupation" => "employee", "salary" => 800, "specialty" => "secretary"]
];

echo "<h1>Employees and managers</h1>";
foreach ($array as $index => $row) {
    echo "<h2>Employee #" , $index + 1 , "</h2>";
    echo "<ul>";
        foreach ($row as $label => $value) {
            echo "<li>$label: $value</li>";
        }
    echo "</ul>";
}

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...