如何在PHP中使用键和值打印数组元素?

时间:2019-04-07 15:37:48

标签: php arrays loops output

我正在学习数组和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 个答案:

答案 0 :(得分:1)

在嵌套的foreach中,您必须遍历保存数组的$value

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

答案 1 :(得分:0)

使用此

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

答案 2 :(得分:0)

通过这种方式,更易于修复和清除混乱:

     $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>';
        }
    }

请注意,数字不带引号。这将使您可以将它们用作数字来进行进一步的计算。