我有这样的代码
<?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
有谁能告诉我为什么它只打印最后一个值? 感谢
答案 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
声明末尾有一个分号。删除即可,您将拥有所需的功能