显示数组的内容(使用PHP foreach?)

时间:2013-10-04 04:56:20

标签: php arrays wordpress foreach

我正在使用WordPress网站并使用名为“简单字段”的插件,将数据添加到可重复字段中。我已将数据输入三个字段:(audioinfo,audiofile,audiocomposer)。

我现在想创建一个以下列方式显示该信息的帖子:

音频资讯1

音频文件1

Audio Composer 1

~~~

音频资讯2

音频文件2

Audio Composer 2

我一直试图用foreach解决这个问题。这是我能到达的最近的(我知道它无效)。任何人都可以提出如何处理这个问题的建议吗?

<?php 
$audioinfo = simple_fields_values("audioinfo");
$audiofile = simple_fields_values("audiofile");
$audiocomposer = simple_fields_values("audiocomposer") 
foreach ($audioinfo as $audioinfos, $audiofile as $audiofiles, $audiocomposer as $audiocomposers){
echo $audioinfos;
echo $audiofile;
echo $audiocomposer;
}
?>

(正如旁注,如果它很重要,前三行看起来都是有效的 - 也就是说,如果我单独在$ audiocomposer上做一个“foreach”,我成功得到:Bach Handel Beethoven。)< / p>

我可以做些什么来同时将“foreach”应用于这三个人吗?

谢谢!

4 个答案:

答案 0 :(得分:3)

假设所有数组长度相同,使用正常的for循环。

<?php 
$audioinfo = simple_fields_values("audioinfo");
$audiofile = simple_fields_values("audiofile");
$audiocomposer = simple_fields_values("audiocomposer");

for($i=0;$i<count($audioinfo);$i++)
{
echo $audioinfo[$i];
echo $audiofile[$i];
echo $audiocomposer[$i];
}
?>

答案 1 :(得分:1)

假设所有3个数组中的项目总数相同,您可以这样做:

$items = count($audioinfo);
for ($i = 0; $i < $items; $i++)
{
    echo $audioinfo[$i];
    echo $audiofile[$i];
    echo $audiocomposer[$i];
}

答案 2 :(得分:1)

一个更好的解决方案:

<?php 
$audioinfo = simple_fields_values("audioinfo");
$audiofile = simple_fields_values("audiofile");
$audiocomposer = simple_fields_values("audiocomposer");

foreach ($audioinfo as $k => $val){
  echo $val;
  echo $audiofile[$k];
  echo $audiocomposer[$k];
}
?>

答案 3 :(得分:0)

这里我给出了一个如何在单个foreach中处理3数组值的示例,希望它对您有很大帮助

$audioinfo =array('popsong','rocksong','molodysong');
  $audiofile=array('jackson','rahman','example');
  $audiocomposer =array('first','second','third');

  foreach($audioinfo as $key => $value)
   {
    echo $value."</br>";
    echo $audiofile[$key]."</br>";
    echo $audiocomposer[$key]."</br>";

   }