Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中打印带有键和值的数组元素?_Php_Arrays_Loops_Output - Fatal编程技术网

如何在PHP中打印带有键和值的数组元素?

如何在PHP中打印带有键和值的数组元素?,php,arrays,loops,output,Php,Arrays,Loops,Output,我正在学习php中的数组和循环。但无法打印包含键和值的数组。我该怎么做 <?php $marks = array ( "Alice" => array ( "physics" => "60", "math" => "65" ), "Bob" => array ( "physics" => "40", "math" => "45" ) ); foreach (

我正在学习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>";
    };
};
?>
在嵌套数组中,必须迭代保存数组的$value

foreach ( $marks as $key => $value) {
   foreach ( $value as $key2 => $value2 ) {
   // -------^^^^^^-------
      echo $key . " : " . $key2 . " - " . $value2 . "<br>";
   }
};
在嵌套数组中,必须迭代保存数组的$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>";
          }
       }
用这个

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

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

这样可以更易于阅读,以修复它并消除混淆:

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

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

第二个forEach应该类似于forEach$value as$key2=>$value2{第二个forEach应该类似于forEach$value as$key2=>$value2{工作正常,我想要的。非常感谢。@NahidHasan:很高兴helped@NahidHasan-欢迎来到Stackoverflow。如果这个答案解决了您的问题,请。工作正确,这是我想要的。非常感谢。@NahidHasan:很高兴helped@NahidHasan-欢迎来到Stackoverflow。如果这个答案解决了您的问题,请。真的吗ble名称使代码更具可读性。谢谢:不客气。在尝试制定解决方案时命名和注释代码/脚本非常有帮助。实际上,这些变量名称使代码更具可读性。谢谢:不客气。在尝试制定解决方案时命名和注释代码/脚本非常有帮助。