多个数组foreach语句

时间:2014-03-05 18:43:15

标签: php arrays wordpress custom-fields

我正在使用现有的HTML处理我的第一个PHP布局。我遇到了麻烦。我希望stackoverflow可以帮助

我有3个阵列

$parent = array('1' => 'parent1' , 'parent2' , 'parent3' , 'parent4' , );
$child = array('1' => 'child1' , 'child2' , 'child3' , 'child4' , );
$content = array('1' => 'content1' , 'content2' , 'content3' , 'content4' , );

我正在尝试使用它们制作一个重复列表,其中包括{$ parent},{$ child}和{$ content},如下所示..

<?php 
  echo "<h1 id='js-overview' class='page-header'>$parent</h1>"
  echo "<h3 id='js-fotopia'>$child</h3>" 
  echo "<p>$content</p>"
?>

但是我需要为每个变量运行它。我该如何撰写声明?我该如何设置它以便孩子和孩子的内容也在重复。就像在图片中一样

参见图片了解我的布局,只要有变量填写,我需要不断重复...如果我不是因为而不是跳过,请提出问题...我需要php指导。

never mind the menu

enter image description here

2 个答案:

答案 0 :(得分:1)

我认为你的结构有点偏。而不是3个数组,为什么不将它们合并为一个?有点不清楚你的父/子/内容关系是如何设置的,但是这里有一个镜头:

$arr = array(
    'parent1' => array(
        'child1' => array(
            'content' => 'This is your content for child 1',
        ),
        'child2' => array(
            'content' => 'This is your content for child 2',
        ),
    ),
    'parent2' => array(
        'child1' => array(
            'content' => 'This is your content for child 1 inside of parent 2',
        )
    ),
);

然后,您可以foreach覆盖数组,foreach覆盖孩子:

foreach($arr as $parent) {
    foreach($parent as $childName => $child) {
        echo $child['content'];
    }
}

如果您需要更多内容结构,可以在子数组中添加更多键。

答案 1 :(得分:0)

也许是这样的?

for($i=1; $i<=count($parent); $i++){
      echo "<h1 id='js-overview' class='page-header'>$parent[$i]</h1>"
      echo "<h3 id='js-fotopia'>$child[$i]</h3>" 
      echo "<p>$content[$i]</p>"
}

或者,您可以使用foreach并假设键符合此语法

foreach (array_expression as $key => $value) statement

除此之外,您可以构建1个2D数组,将1,2行中的父项,子项和内容存储起来。