2013-10-04 77 views
0

我在尝试回复数组特定部分的每次迭代时遇到了问题。PHP回声阵列

这里有线索。我无法将它们拼凑在一起(因为我还不太了解php数组)。

如果我做到以下几点:

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

我得到的文件,这就是我想要的网址。 但是,我有四个不同的URL(我相信它是一个“二维数组”),我想要回显它们中的每一个。

按照简单字段的文档,我知道我需要在第二行更改为:

$audiofile = simple_fields_values("audiofile"); 

这使我改变PHP如下:

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

但这只是回声“ArrayArrayArrayArray”。

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

所以,我试过如下:

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

但呼应空。

任何想法?

+0

而不是'echo'使用'的var_dump($的AudioFile [$ i]);' – Winston

+0

尝试回声$的AudioFile [$ i] [ '链接'] –

+0

你可以看看在http:// PHP .net/manual/fr/class.recursivearrayiterator.php – Kakawait

回答

5

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

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

我在那里寻找斑马。 这样做了!你摇滚! – Chris

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]); 
} 
?> 
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