Как напечатать элемент массива с ключами и значениями в PHP? - PullRequest
1 голос
/ 07 апреля 2019

Я изучаю массив и цикл в php.Но не могу напечатать массив с ключами и значениями.Как я могу это сделать?

<?php
$marks = array (
    "Alice" => array (
        "physics" => "60",
        "math" => "65"
    ),
    "Bob" => array (
        "physics" => "40",
        "math" => "45"
    )
);

foreach ( $marks as $key => $value) {
    foreach ( $key as $key2 => $value2 ) {
        echo $key . " : " . $key2 . " - " . $value2 . "<br>";
    };
};
?>

Ответы [ 3 ]

1 голос
/ 07 апреля 2019

Во вложенном foreach вам нужно перебрать $value, который содержит массив.

foreach ( $marks as $key => $value) {
   foreach ( $value as $key2 => $value2 ) {
   // -------^^^^^^-------
      echo $key . " : " . $key2 . " - " . $value2 . "<br>";
   }
};
0 голосов
/ 07 апреля 2019

Таким образом, это может быть более читабельным, чтобы исправить это и устранить путаницу:

     $marks = array(
        'Alice' => array(
            'physics' => 60,
            'math' => 65,
        ),
        'Bob' => array(
            'physics' => 40,
            'math' => 45,
        ),
    );

    // Loop students
    foreach($marks as $name => $grades){

        // Loop their grades
        foreach ($grades as $subject => $score){
            echo $name . ' : ' . $subject . ' - ' . $score . '<br>';
        }
    }

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

0 голосов
/ 07 апреля 2019

Используйте это

foreach ( $marks as $key => $value) {
     foreach ( $value as $key2 => $value2 ) {
        echo $key . " : " . $key2 . " - " . $value2 . "<br>";
          }
       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...