任何人都可以修复我的foreach循环吗?

时间:2012-02-19 14:41:18

标签: php arrays foreach

我有这样的代码

<?php
$array = array('http://www.google.com', 'http://www.facebook.com', 'http://www.twitter.com');
foreach ( $array as $website );
{
echo "<pre>";
echo "Hi $website\n";
echo "Hello $website\n";
echo "Welcome $website\n";
echo "</pre>";
}
?>

我的输出看起来像这样

Hi http://www.twitter.com
Hello http://www.twitter.com
Welcome http://www.twitter.com

我的意思是我的代码只打印最后一个数组值。但我想要这样的输出。

Hi http://www.google.com
Hello http://www.google.com
Welcome http://www.google.com
Hi http://www.facebook.com
Hello http://www.facebook.com
Welcome http://www.facebook.com
Hi http://www.twitter.com
Hello http://www.twitter.com
Welcome http://www.twitter.com

有谁能告诉我为什么它只打印最后一个值? 感谢

5 个答案:

答案 0 :(得分:5)

删除分号:

foreach ( $array as $website );
                              ^

答案 1 :(得分:2)

这一行

foreach ( $array as $website );

有一个额外的;

如果您有一个空的foreach,然后当$website在最后一个项目上时,您执行带有回声的块。

删除;,你会没事的

答案 2 :(得分:1)

从此行中删除分号:

 foreach ( $array as $website );

答案 3 :(得分:1)

你的foreach循环结束时有一个分号(;)。这意味着在foreach循环完成迭代之后,它只是执行一次而不是{}块在循环内部。

放弃;从最后开始。

答案 4 :(得分:1)

您的foreach声明末尾有一个分号。删除即可,您将拥有所需的功能