从多维数组的PHP foreach循环

时间:2014-01-01 18:45:19

标签: php arrays multidimensional-array foreach

我有一个多维数组,我希望在foreach循环中显示。我一直在看很多教程,但我还没能让它工作。

这是我的数组和foreach循环:

$events = array( 
           array( Name => "First Event", 
                  Date => "12/13/14",
                  Time => "12:13"
                  Description => "event description"
                ),
           array( Name => "Second Event", 
                  Date => "12/13/14",
                  Time => "12:13",
                  Description => "event description"
                ),
           array( Name => "Third Event", 
                  Date => "12/13/14",
                  Time => "12:13"
                  Description => "event description"
                )
         );

foreach($events as $event) {
    echo "<div class=\"event\"><strong>";
    echo $event[Name];
    echo "</strong><em>";
    echo $event[Date] . " at " . $event[Time];
    echo "</em><div>";
    echo $event[Description];
    echo "</div></div>";
}

以下是我希望它显示的方式:

<div class="event">
  <strong>Event Name</strong><em>Date at Time</em>
  <div>
    Description 
  </div>
</div>

我很感激你能给予的任何帮助。谢谢!

3 个答案:

答案 0 :(得分:2)

键应该在引号中。例如:'Name'而不是Name

<?php foreach($events as $event): ?>
<div class="event">
   <strong><?php echo $event['Name'] ?></strong><em><?php echo $event['Date'] ?> at <?php echo $event['Time'] ?></em>
   <div>
    <?php echo $event['Description'] ?>
  </div>
</div>
<?php endforeach; ?>

答案 1 :(得分:2)

密钥缺少引号,时间=&gt; “12:13”最后丢失了逗号“,”

<?php
$events = array( 
           array( "Name" => "First Event", 
                  "Date" => "12/13/14",
                  "Time" => "12:13",
                  "Description" => "event description"
                ),
           array( "Name" => "Second Event", 
                  "Date" => "12/13/14",
                  "Time" => "12:13",
                  "Description" => "event description"
                ),
           array( "Name" => "Third Event", 
                  "Date" => "12/13/14",
                  "Time" => "12:13",
                  "Description" => "event description"
                )
         );

foreach($events as $event) {
?>
<div class="event">
    <strong><?php echo $event["Name"];?></strong><em><?php echo $event["Date"];?></em>
    <div><?php echo $event["Description"];?></div>
</div>
<?php
}
?>

<强>输出

第一次活动 2014年12月13日

事件描述

第二次活动 2014年12月13日

事件描述

第三次活动 2014年12月13日

事件描述

答案 2 :(得分:0)

试试这个:

foreach($events as $record) {

    $name = $record["name"];
    $date = $record["date"];
    $time = $record["time"];
    $description = $record["description"];

    print("
      // your html code with the variables here
    ");

}