回声循环多维数组值

时间:2014-08-01 16:34:50

标签: php loops multidimensional-array foreach

我想使用for each循环来访问和检索多维数组值

<?php
    $contents = array(
       "slide1" => array("title" => "My Digital Life",
                         "description" => "http://www.mydigitallife.info"
                         ),
       "slide2" => array("title" => "My Digital Life",
                         "description" => "http://www.mydigitallife.info"
                         ),
    );

?>

输出目标

<ul>
    <li this will be slide1 output>
       <h1><?php echo [title]; ?></h1>
       <p><?php echo [description]; ?></p>
    </li>
    <li this will be slide2 output>
       <h1><?php echo [title]; ?></h1>
       <p><?php echo [description]; ?></p>
    </li>
    <li and so on, depending on the php array>
       <h1><?php echo [title]; ?></h1>
       <p><?php echo [description]; ?></p>
    </li>
</ul>

任何帮助都会很棒。

由于

对不起,伙计们,我忘记了我的尝试,这是不工作+循环是静态的3,我需要它是动态的数组中的幻灯片数量。

for ($row = 0; $row < 3; $row++)
{
echo "<li>Title: ".$slider[$row]["title"]." Description ".$slider[$row]["description"]."</li>";
echo "<br />";
}

3 个答案:

答案 0 :(得分:0)

简单地嵌套foreach循环:

foreach ($contents as $contentKey => $contentArr) {
  // output <li>
  echo '<li>';
  foreach ($contentArr as $singleContentKey => $singleContent ) {
    switch ($singleContentKey){
      case 'title':
        // output h1
        echo sprintf('<h1>%s</h1>',$singleContent );
        break;
      case 'description':
        // output p
        echo sprintf('<p>%s</p>',$singleContent );
        break;
      default:
        break;
    }
  }
  // close </li>
  echo '</li>';
}

要在嵌套数组键上操作内容,我建议使用switch .. case语句。

在评论中已经说过 - 你应该至少花一点力气自己解决问题,如果你做了 - 解释你到目前为止做了什么。

答案 1 :(得分:0)

您可以使用foreach循环遍历多维数组并检索问题中提到的值。

$arr = yourarray()



foreach($arr as $array)
{
foreach($array as $key => $value)
{
  echo '<p>'.$key.' => '.$value.'</p>';
}
}

如果这不是你想要的,请发布你需要的内容作为下面的评论

答案 2 :(得分:0)

这个怎么样?

<ul>
<?php foreach ($contents as $slide => $info): ?>
    <li>
        <h1> <?=$info['title']?> </h1>
        <p> <?=$info['description']?> </p>
    </li>
<?php endforeach; ?>
</ul>