㈠ php中foreach怎么控制循环次数
foreach的对象是一个数组,默认是循环出数组中的所有数据就结束。
如果你只想取出数组中的前几个(控制循环次数),可以加一个变量控制次数;
$i = 0;
$maxnum = 10;
foreach($array as $v) {
echo $v;
if($++ > $maxnum) {
break();
}
}
㈡ php foreach为什么比for效率高
总体来说,如果数据库过几十万了,才能看出来快一点还是慢一点,如果低于10万的循环,就不用测试了。php推荐用foreach。
循环数字数组时,for需要事先count($arr)计算数组长度,需要引入自增变量$i,每次循环都要进行条件判断$i<$c,然后自增$i++,输出数组元素时,$arr[$i]需要进行哈希操作.
而foreach循环数组时,指针会自动指向下一个元素,不需要计算数组长度,没有条件判断和自增变量,调用元素时也没有哈希操作,所以性能肯定要比for和while高.另外,for和while对存在键值映射的关联数组无能为力.所以,遍历数组,首选foreach.foreach也是我PHP里最喜欢的关键字,因为它确实强大.array_map/array_filter/array_walk遍历数组的方式和foreach一样,但需要执行回调函数,所以也比foreach慢.
㈢ php foreach 循环次数如何设置
//如限制5条记录;
//没有数字索引时
$i=1;
foreach($listas$val){
if($i>=5)break;
//do
$i++;
}
//有默认索引时
foreach($listas$key=>$val){
if($key>=5)break;
//do
}
㈣ PHP foreach输出键值,他是从0开始的,我想他加1输出该怎么写
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
㈤ PHP foreach 如何判断为数组最后一个最高效
$n = count($arr); //数组有几个原色
$i = 0;
foreach($arr as $key=>value){
$i++;
if($i == $n){
echo '这是最后一个';
如果你还有什么问题话,可以多去后盾人看一些相关的视频,会有帮助的
㈥ php foreach 数组赋值
<?php
//代码本地已运行过
$arr=array(1,2,2,4);
$uniq_arr = array_unique($arr);//第一步先去重,取得最外部需要循环的数组
$i = 0;
foreach($uniq_arr as $key=>$val){//循环去重后的数组
foreach($arr as $k=>$v){//循环原生数组
if($key != $k){//判断两次的key是否相等,array_unique,去重后的数组key是不变的
if($val == $v){
if(is_array($new_arr[$i])){//判断是否已经是个数组,是就直接追加
array_push($new_arr[$i],$v);
}else{//不是就拼接后再追加
$k_arr = array($new_arr[$i]);
array_push($k_arr,$v);
$new_arr[$i] = $k_arr;
}
}
}else{//如果key相等直接赋值给新数组
$new_arr[$i] = $val;
}
}
$i++;
}
print_r($new_arr);
?>
㈦ 关于php里面的foreach问题
是这中效果吗?这是前5个显示,加一个$i开关就行了!
<?php
global $CACHE;
$i=0;
foreach($CACHE->readCache('newlog') as $value)
?>
<li><a href="<?php echo Url::log($value['gid']); ?>">
<?php
if($i<5)
echo '<img src="'.TEMPLATE_URL.'images/new.png"/>';
echo $value['title']; ?>
</a>
</li>
<?php
$i++;
endforeach;
?>
㈧ php foreach 循环问题
可以加个标志变量$i,先$i=0;在foreach中让$i++;并判断if($i<=9){输出}else{退出}
可以的啊
这个是我的测试程序
<?php
$arr=array("a"=>2,2,3,4,5,6,7,8,9,0,);
print_r($arr);
//下面控制只输出3个
$i=0;
foreach($arr as $val){
if($i<=3){
echo $val."<hr/>";
}else{
break;
}
$i++;
}
?>
把你的代码改成这样看看行不
<?php
$xml = simplexml_load_file("data.xml");
$item = $xml->item;
$save_name = "title.html";
file_put_contents($save_name, "");
$i=0;
foreach($xml->item as $value)
{
if($i<=9){
$title = '<a href="'.$value->url.'">'.$value->title.'</a><br />';
file_put_contents($save_name, iconv("UTF-8", "gb2312", $title), FILE_APPEND);
}else{
break;
}
$i++;
}
?>
㈨ php foreach循环内部,怎样判断输出最后一个值
采用辅助变量(并不节省代码,不知道还有更好的方法没?foreach的效率高,最好还是用foreach而不用for和while)
$i=0;
$count=count($array);//获取数组的元素总数
foreach($arrayas$key=>$value){
$i++;
if($i==$count){
//相应的代码操作
}
}
㈩ php foreach怎样获取当前的循环次数
1、首先在编辑器中为这个程序写上注释内容。