Php 如何使用foreach()显示数组值?

Php 如何使用foreach()显示数组值?,php,arrays,loops,multidimensional-array,foreach,Php,Arrays,Loops,Multidimensional Array,Foreach,我试图从数组中输出值,但它们没有打印到我的foreach()循环中的屏幕上 这是我的阵列: Array( [0] => Array( [projectId] => 2[seDate] => 2017 - 04 - 13[startTime] => 06: 57[taskToDo] => testing[studentSessionNo] =>1[studentId] => 1 ) [1] =>

我试图从数组中输出值,但它们没有打印到我的
foreach()
循环中的屏幕上

这是我的阵列:

Array(
    [0] => Array(
            [projectId] => 2[seDate] => 2017 - 04 - 13[startTime] => 06: 57[taskToDo] => testing[studentSessionNo] =>1[studentId] => 1
        )
    [1] => Array(
            [projectId] => 4[seDate] => 2017 - 05 - 27[startTime] => 04: 53[taskToDo] => dodfddd[studentSessionNo] =>2[studentId] => 1
        )
    [2] => Array(
            [projectId] => 8[seDate] => 2017 - 05 - 17[startTime] => 01: 01[taskToDo] => rrrrrrr[studentSessionNo] => 5[studentId] => 1
        )
)
这是我的代码:

<div>
    <?php
    foreach($info as $info){
          echo "<label>Session Date : ".$value['seDate']."</label>";
          echo "<label>Start Time : ".$value['startTime']."</label>";
          echo "<label>End Time : ".$value['taskToDo']."</label>";
          echo "<label>Task To Do  : ".$value['studentSessionNo']."</label><br />";
    }
    ?>
</div>


我做错了什么?

这是一个非常基本的问题,只要快速阅读PHP手册就可以轻松回答。这就是说,如果一个问题被认为已经解决了,那么必须发布一个答案,然后接受。约翰·康德知道这一点,但偶尔会通过评论回答问题——这会导致问题看起来没有解决/被抛弃。我将提供一些与输入相关的解释,以帮助您理解
foreach()
,以及它与多维数组的关系

foreach($info as $value){
    ........
    .......
   }
要求第一个值是输入数组的变量名

根据您希望在循环中处理数组的哪些部分,对于
as
之后的内容,您有两种选择

  • 如果只想处理数组中的值,那么可以声明一个变量名来表示数组中的每个元素值

  • 如果要同时访问键和值,则必须先声明键的变量名,然后声明值的变量名

  • 这是数组的php声明:

    $array=array(
        0=>array("projectId"=>2,"seDate"=>"2017 - 04 - 13","startTime"=>"06: 57","taskToDo"=>"testing","studentSessionNo"=>1,"studentId"=>1),
        1=>array("projectId"=>4,"seDate"=>"2017 - 05 - 27","startTime"=>"04: 53","taskToDo"=>"dodfddd","studentSessionNo"=>2,"studentId"=>1),
        2=>array("projectId"=>8,"seDate"=>"2017 - 05 - 17","startTime"=>"01: 01","taskToDo"=>"rrrrrrr","studentSessionNo"=>5,"studentId"=>1)
    );
    
    如果要遍历多维数组的每一级,则可以使用嵌套在foreach循环中的foreach循环进行迭代:

    foreach($array as $index=>$subarray){
        echo "For subarray number $index<br>";
        foreach($subarray as $key=>$value){
            echo "$key has value value<br>";
        }
        echo "<br>";
    }
    
    您会注意到我没有回显
    $subarray
    ,因为数组无法回显。如果要显示每个子数组的内容,可以仅使用一个foreach循环,如下所示:

    foreach($array as $index=>$subarray){
        var_export($subarray);
        echo "<br>";
    }
    
    最后,特别是针对您的问题,使输出正常工作的简单方法是将
    后面的变量名更改为
    $value
    。这将允许您按预期访问子阵列的值

    <div>
        <?php
        foreach($info as $value){
            echo "<label>Session Date : ".$value['seDate']."</label>";
            echo "<label>Start Time : ".$value['startTime']."</label>";
            echo "<label>End Time : ".$value['taskToDo']."</label>";
            echo "<label>Task To Do  : ".$value['studentSessionNo']."</label><br />";
        }
        ?>
    </div>
    
    
    
    $value
    更改为
    $info
    ,然后阅读@johncode,这是有效的,我的朋友。非常感谢你
    array (
      'projectId' => 2,
      'seDate' => '2017 - 04 - 13',
      'startTime' => '06: 57',
      'taskToDo' => 'testing',
      'studentSessionNo' => 1,
      'studentId' => 1,
    )
    array (
      'projectId' => 4,
      'seDate' => '2017 - 05 - 27',
      'startTime' => '04: 53',
      'taskToDo' => 'dodfddd',
      'studentSessionNo' => 2,
      'studentId' => 1,
    )
    array (
      'projectId' => 8,
      'seDate' => '2017 - 05 - 17',
      'startTime' => '01: 01',
      'taskToDo' => 'rrrrrrr',
      'studentSessionNo' => 5,
      'studentId' => 1,
    )
    
    <div>
        <?php
        foreach($info as $value){
            echo "<label>Session Date : ".$value['seDate']."</label>";
            echo "<label>Start Time : ".$value['startTime']."</label>";
            echo "<label>End Time : ".$value['taskToDo']."</label>";
            echo "<label>Task To Do  : ".$value['studentSessionNo']."</label><br />";
        }
        ?>
    </div>