0

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

这是线索。我不能把它们拼凑在一起(因为我对 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 正在返回一个信息数组,从中我只想要 ['url']。

所以,我尝试了以下方法:

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

但这与空值相呼应。

有任何想法吗?

4

3 回答 3

5

我想你可能把你的数组键顺序倒过来了。您是否尝试过将 ['url'][$i] 翻转为 [$i]['url']?像这样:

<?php
$audiofile = simple_fields_values("audiofile");
for($i=0;$i<count($audiofile);$i++) {
    echo $audiofile[$i]['url'];
}
?>
于 2013-10-04T17:05:58.873 回答
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]);
}
?>
于 2013-10-04T17:07:27.697 回答
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

于 2013-10-04T17:38:11.400 回答