list-each-while遍历数组 和使用foreach的对比

$name = array(
		'孟子','孔子','孙子','老子'
	);
while($ele = each($name)){
		$key = $ele['key']; // == $ele[0]
		$value = $ele['value']; // $ele[1]
		var_dump($key,$value);
		echo "<br>";
	}

这样做虽然不常用但是对理解数组指针的概念很有用处,(最好的还是用foreach)

还能升级,利用List结构

List结构就是利用一个索引数组,同时初始化多个变量

$arr = array(0=>"some",1=>"many",2=>"much");
	list($v1,$v2,$v3) = $arr;
	var_dump($v1,$v2,$v3);

所以就优化为这样

	while(list($key,$value) = each($name)){
		// $key = $ele['key']; // == $ele[0]
		// $value = $ele['value']; // $ele[2]
		var_dump($key,$value);
		echo "<br>";
	}

如果是使用foreach的话,foreach内置reset()函数,在调用完foreach的时候,系统指针就会重新指向第一个,这儿就意味着不需要在foreach之前调用reset()函数,但是while就不一样,再循环完毕之后指针就不会指向第一个这是说明在使用while的时候需要使用reset函数;下面这个就能看好的解释了



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值