起步 - for循环

  • 作者:KK

  • 发表日期:2016.8.5


for循环

for循环一般用来遍历数组,基本写法和JS差不多,示例:

$ids = [];
for($i = 0; $i <= 10; $i++){
	$ids[] = $i;
}
echo 'ids:' . implode('、', $ids);

$ids是个数组,在循环里将每一次循环的$i变量添加到这个数组元素中,结束循环后用implode函数将这个数组的元素拼成了一个字符串来输出

JS就是这样嘛:

var ids = [];
for(var i = 0; i <= 10; i++){
	ids.push(i);
}
console.log(ids.join('、'));

其实思想是一模一样的,只是写法不同,怎样,掌握JS的话很快就能上手PHP了吧


foreach循环

在JS里遍历一个对象的属性用的是for(var key in ...)这样的写法,在PHP里也有,下面遍历一个数组的各个键值:

$user = [
	'name' => 'Jay',
	'age' => 18,
	'money' => 65524,
	'city' => 'xxx'
];

foreach($user as $key => $value){
	echo $key . ' : ' . $value . '<br/>';
}

这就是foreach,跟for语句的不同点在于for指定了一个起始值和一个终止值,通常固定了循环的次数,但是foreach不同,它会遍历所有元素,所以当我们向user定义更多键值的时候,它也跟着遍历那么多个键值,没有固定的个数

以上代码的JS版:

var user = {
	name : 'Jay',
	age : 18,
	money : 65524,
	city : 'xxx'
};

for(var key in user){
	console.log(key + ' : ' + user[key]);
}

foreach语句也可以不指定key部分,这样就不会有key了,只有value:

$user = [
	'name' => 'Jay',
	'age' => 18,
	'money' => 65524,
	'city' => 'xxx'
];

foreach($user as $value){
	echo $value . '<br/>';
}

这其实用来遍历索引数组也是可以的:

$names = ['aabb', 'ccdd', 'eeff'];

foreach($names as $name){
	echo $name . '<br/>';
}

至于循环里的$key,$value,$name这些变量其实都是自己起的,没有固定要这样写