我试图从php中的多维数组键中获取数据。数组结构是这样的:
Array
( [status] => 1 [embeds] => Array
(
[1] => Array
(
[embed] => <IFRAME SRC="XXXXXXXX.ZZZ" FRAMEBORDER="0" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="NO" WIDTH="620" HEIGHT="360"></IFRAME>
[link] => http://XXXXXXXXXXX.ZZZZ
[language] => ENG
)
[2] => Array
(
[embed] => <iframe src="http://www.XXXXXXX.ZZZZ" width="620" height="360" frameborder="0" scrolling="no"></iframe>
[link] => http://www.XXXXXXX.ZZZZZ
[language] => ENG
) ... ... ... ...
))
$ auto_incrementing_value的范围是1到最大范围。因此,如果我只想回显1个数据并且$ auto_incrementing_value = 1,我可以echo $ret['embeds'][$auto_incrementing_value]['link'];
做的是回显所有数组中的所有“链接”值。
我尝试了这段代码,但它不起作用:
$codes = 1;
foreach ($ret as $key => $rets){
echo $ret['embeds'][$codes]['link'];
$codes++;
}
那肯定是您正在使用的一些古怪的语法。您正在使用foreach
像循环这样的while
循环,就像编写的for
循环一样。
尝试:
foreach ($ret['embeds'] as $embed){
echo $embed['link'];
}
或者:
for( $i=1; $i<=count($ret['embeds']); $i++ ) {
echo $ret['embeds'][$i]['link'];
}
或者,如果您想变得狡猾:
$i=0;
while($i<=count($ret['embeds'])) {
echo $ret['embeds'][$i]['link'];
$i++;
}
@MarkBaker提出了关于count()
在循环条件下调用[或实际上是任何函数]的有效观点。如果函数的返回在循环的整个过程中都是静态的[即:数组中元素的数量没有变化],那么最好这样做:
$count = count($ret['embeds'];
for( $i=1; $i<=$count; $i++ ) {
echo $ret['embeds'][$i]['link'];
}
或者,您也可以倒退:
for( $i=count($ret['embeds'])-1; $i>=0; $i-- ) {
echo $ret['embeds'][$i]['link'];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句