我有这段代码。
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
for($i=5; $i< count($arr); $i++) {
echo $arr[$i]. "<br>";
}
并输出:
6
7
8
9
我搜索如何在循环外输出,并将代码更改为
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$res = "";
for($i=5; $i< count($arr); $i++) {
$res .= $arr[$i];
}
echo $res. "<br>";
但输出是
6789
4元素变为1.我想在循环外得到输出,输出不会像6789
我希望输出为
6
7
8
9
因为我想使用像
这样的数据http://1.1.1.0:8000/con/search.json?id= 6
http://1.1.1.0:8000/con/search.json?id= 7
http://1.1.1.0:8000/con/search.json?id= 8
http://1.1.1.0:8000/con/search.json?id=的 9
而不是像
答案 0 :(得分:2)
最佳解决方案(不需要for循环,只需使用implode())
<?php
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
echo implode("<br>",$arr);
?>
要获得某些范围内的值,请使用(如我所建议的@kojiro)
<?php
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
echo implode('<br>', range(6, 9));
?>
或尝试这样
$res .= "http://1.1.1.0:8000/con/search.json?id=".$arr[$i] ."<br>";
输出
6
7
8
9
演示here
修改强>
for($i=5; $i< count($arr); $i++) {
$res[] = "http://1.1.1.0:8000/con/search.json?id=".$arr[$i];
}
echo implode("<br>",$res);
答案 1 :(得分:1)
您可以将array_slice
与implode
一起使用,如
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
echo "http://1.1.1.0:8000/con/search.json?id=".implode("\nhttp://1.1.1.0:8000/con/search.json?id=",array_slice($arr,5));
答案 2 :(得分:0)
使用\r\n
更改此
$res .= $arr[$i];
到这个
$res .= "\r\n".$arr[$i];
或尝试此代码: -
for($i=5; $i< count($arr); $i++) {
$res .= "\r\n".$arr[$i];
}
答案 3 :(得分:0)
你可以做类似于你现有的事情:
<?php
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$res = '';
$res2 = '';
for($i=5; $i< count($arr); $i++) {
$res .= $arr[$i] . "\n";
$res2 .= $arr[$i] . '<br>';
}
echo $res;
echo $res2;
?>
命令行上的$ res将在各自的行中输出6,7,8和9。如果您使用的是浏览器,$ res2将在各自的行中显示6,7,8和9。
答案 4 :(得分:0)
以下代码可根据您的要求使用
<?php
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$res = "";
for($i=5; $i< count($arr); $i++) {
$res .= $arr[$i] . '<br />';
}
echo $res;
?>