繁体   English   中英

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

[英]How to print array element with keys & values in PHP?

我正在学习 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>";
    };
};
?>

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

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

用这个

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

这样,修复它并消除混乱可能会更具可读性:

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

请注意,数字没有引号。 这将允许您将它们用作数字来进行进一步的计算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM