这是我的php代码
$arr = array(1,2,3,4);
function mypic($arr){
foreach ($arr as $pic){
echo "<img src='img/$pic.png'/>";
}
}
$i = 1;
while($i < 10){
echo "<p>".mypic($arr)."</p>";
$i++;
}
我得到的输出是
<img src="img/1.png">
<img src="img/2.png">
<img src="img/3.png">
<img src="img/4.png">
<p></p>
<img src="img/1.png">
<img src="img/2.png">
<img src="img/3.png">
<img src="img/4.png">
<p></p>
但是,我需要获得以下输出
<p>
<img src="img/1.png">
<img src="img/2.png">
<img src="img/3.png">
<img src="img/4.png">
</p>
我该如何解决?感谢
答案 0 :(得分:2)
试试这个:
$arr = array(1,2,3,4);
function mypic($arr){
foreach ($arr as $pic){
echo "<img src='img/$pic.png'/>";
}
}
$i = 1;
while ($i < 10) {
echo "<p>";
mypic($arr);
echo "</p>";
$i++;
}
或者,您可以让mypic()
函数返回字符串而不是打印它:
$arr = array(1,2,3,4);
function mypic($arr){
$str = "";
foreach ($arr as $pic){
$str .= "<img src='img/$pic.png'/>";
}
return $str;
}
$i = 1;
while ($i < 10) {
echo "<p>";
echo mypic($arr);
echo "</p>";
$i++;
}
答案 1 :(得分:1)
您也可以使用:
$arr = array(1,2,3,4);
function mypic($arr){
$_str = '';
foreach ($arr as $pic){
$_str .= "<img src='img/$pic.png'/>";
}
return $_str;
}
$i = 1;
while ($i < 10) {
echo "<p>".mypic($arr)."</p>";
$i++
}
或者:
$arr = array(1,2,3,4);
function mypic($arr){
$_arr = array();
foreach ($arr as $pic){
$_arr[] = "<img src='img/$pic.png'/>";
}
return implode(PHP_EOL, $_arr);
}
$i = 1;
while ($i < 10) {
echo "<p>".mypic($arr)."</p>";
$i++
}