用于回声的PHP数组

时间:2013-10-04 17:03:48

标签: php arrays multidimensional-array

我在尝试回显数组特定部分的每次迭代时遇到了麻烦。

以下是线索。我不能把它们拼凑起来(因为我还不太了解php数组)。

如果我执行以下操作:

<?php
$audiofile = simple_fields_value("audiofile");
echo $audiofile['url'];
?>

我得到了文件的URL,这就是我想要的。 但是,我有四个不同的URL(一个“二维数组”,我相信?),我想回应每一个。

根据Simple Fields文档,我知道我需要将第二行更改为:

$audiofile = simple_fields_values("audiofile");

这导致我按如下方式更改php:

<?php
$audiofile = simple_fields_values("audiofile");
for($i=0;$i<count($audiofile);$i++)
{
echo $audiofile[$i];
}
?>

但这只能回应“ArrayArrayArrayArray”。

这是有道理的,因为$ audiofile正在返回一个信息数组,FROM我只想要['url']。

所以,我尝试了以下内容:

<?php
$audiofile = simple_fields_values("audiofile");
for($i=0;$i<count($audiofile);$i++)
{
echo $audiofile['url'][$i];
}
?>

但那回声无效。

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

我认为你可能有你的数组键顺序是全部。你试过把['url'] [$ i]翻到[$ i] ['url']吗?像这样:

<?php
$audiofile = simple_fields_values("audiofile");
for($i=0;$i<count($audiofile);$i++) {
    echo $audiofile[$i]['url'];
}
?>

答案 1 :(得分:0)

您可以这样做:

<?php
$audiofile = simple_fields_values("audiofile");
for($i=0;$i<count($audiofile);$i++)
{
    print_r($audiofile[$i]);
}
?>

或执行var_dump

<?php
$audiofile = simple_fields_values("audiofile");
for($i=0;$i<count($audiofile);$i++)
{
    var_dump($audiofile[$i]);
}
?>

答案 2 :(得分:0)

为什么不使用foreach构造?

$audiofile = simple_fields_values("audiofile");
foreach ($audiofile as $key => $value) {
    echo $audiofile[$key]['url'];
}

它比for周期更少,基本上你不必自己计算项目并增加索引,因为foreach是专门构建来迭代php数组的。

http://php.net/manual/en/control-structures.foreach.php