leo列

导航

foreach(PHP学习)

先来看一个例子:

$arr = array(0,1,2,3,4);让数组的每个值都变成原来的两倍,应该怎么来实现?

如果没有学习foreach之前,会想到用for循环

<?php 

$arr = array(0,1,2,3,4);
for($i=0;$i<5;$i++){
	$arr[$i]=$arr[$i]*2;
}
print_r($arr);

/*
返回:
Array
(
    [0] => 0
    [1] => 2
    [2] => 4
    [3] => 6
    [4] => 8
)

*/

 ?>

  这种解决办法是键就是数字,并且是连续的情况下,才能这样用

如果键是字符串,又应该如何做呢?

例如:$arr = array('第一'=>0,'第二'=>1,'第三'=>2,'第四'=>3,'第五'=>4); 让他们的值变成原来的两倍

直接上代码

<?php 

$arr = array('第一'=>0,'第二'=>1,'第三'=>2,'第四'=>3,'第五'=>4);
//这是键和值都出现的写法 foreach ($arr as $key => $value) { $arr[$key]=$value*2; } print_r($arr); /* 返回: Array ( [第一] => 0 [第二] => 2 [第三] => 4 [第四] => 6 [第五] => 8 ) */

/*
如果求和的话,只要值就好了,不用键,那么可以这么写
*/

$sum=0;

//这是只出现值得写法
foreach ($arr as $value) {
$sum+=$value;
}
echo $sum;

//返回20

/*
可不可以只显示键,不要出现值,
这是不可以的
*/

?>

  

posted on 2013-08-18 11:32  leo列  阅读(674)  评论(0编辑  收藏  举报