foreach(PHP学习)

先来看一个例子: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
)

*/

 ?>

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

若是键是字符串,又应该如何作呢?blog

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

直接上代码for循环

<?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;class

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

//返回20循环

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

 ?>