Php 我的循环只返回一个值
这里的问题是,当我使用Php 我的循环只返回一个值,php,Php,这里的问题是,当我使用$picnameoutput创建数组后打印时,它会像您在屏幕截图中看到的那样打印数组 稍后,在我运行for循环并回显它以查看输出后,它只给我1个值,我不明白它为什么选择该值,它甚至不是数组中的第一个值 非常沮丧 这是我的密码 <?php $largedir = 'images/headshots/large'; $large = scandir($largedir); $picnameoutput = preg_grep("/adam.*/", $lar
$picnameoutput
创建数组后打印时,它会像您在屏幕截图中看到的那样打印数组
稍后,在我运行for循环并回显它以查看输出后,它只给我1个值,我不明白它为什么选择该值,它甚至不是数组中的第一个值
非常沮丧
这是我的密码
<?php
$largedir = 'images/headshots/large';
$large = scandir($largedir);
$picnameoutput = preg_grep("/adam.*/", $large);
print_r($picnameoutput);
for ($i=0; $i<count($picnameoutput); $i++); {
echo "$picnameoutput[$i]";
}
?>
这是一个截图,你可以看到我的意思
您有一个分号
代码>在for()之后
在括号之前。移除它
所以
这非常容易使用,甚至比for循环快for之后有一个分号,因此代码的执行方式如下:
for ($i=0; $i<count($picnameoutput); $i++) {
; // Do nothing
}
{
echo "$picnameoutput[$i]";
}
这是我第一次尝试,我花了很长时间才走到这一步。。。我非常感谢你的建议,谢谢。@GrooveChampion别担心,这是一个典型的,甚至是教科书上的错误。在第一次尝试中,您的代码看起来非常好。不要把我的一句台词看得太严重;)。是的,我花了一些时间去了解正则表达式,花了很多时间去思考,但我想强迫自己去做,因为我一直在用的书并没有真正让你做任何事情。。。对我来说,不做任何事情就很难接受这么多的理论……太棒了,现在我有另一个问题要问你,为什么这样做效果更好?当我只使用“for”时,它返回数组的前2个值,作为不存在的值,但使用for-each修复了这个错误@GrooveChampion:因为缺少一些索引(如1和2),所以将$icount()
,因为它将在每个循环中执行。您只需将count()
的值添加到变量中,并在循环中检查该变量。
for ($i=0; $i<count($picnameoutput); $i++) {
echo "$picnameoutput[$i]";
}
foreach ($picnameoutput as $pic) {
echo $pic;
}
for ($i=0; $i<count($picnameoutput); $i++) {
; // Do nothing
}
{
echo "$picnameoutput[$i]";
}
echo implode('', glob('images/headshots/large/adam*'));