日期:2014-05-17  浏览次数:20724 次

PHP循环结合数组和list的使用

foreach的使用:
1.用法1

<?php
??$arr=array("张三" ,"李四" ,"王五" ,"马六" );
??foreach ($arr as $value)
??echo $value.'<br/>';
?>


2.用法2

<?php
$arr=array('chinese'=>130,'math'=>140,'english'=>135,'computer'=>130);
foreach($arr as $key=>$value)
echo $key.':'.$value.'<br/>';
?>


3.按拷贝还是引用
默认按拷贝,和函数很相似:

<?php
????$arr=array(1,2,3,4);
????foreach($arr as $value)
????$value*=2;//其实改变的是副本对原数组没有影响
????print_r($arr);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
?>


但是可以改成引用方式,通过&符号:

<?php
????$arr=array(1,2,3,4);
????foreach ($arr as &$value)
????$value*=2;
????print_r($arr);//Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
?>

4.for循环

<?php
$arr=array(1,2,3,4,5);
for ($i=0;$i<count($arr);$i++)
echo $arr[$i].'<br/>';
?>


5.each/list

each用法,每次取出个4元素数组,其中0,key对应键;1,value对应值:

<?php
$arr = array("张三" , "李四" , "王五" );
$bar = each($arr);
print_r($bar);//Array ( [1] => 张三 [value] => 张三 [0] => 0 [key] => 0 )
?>


list的用法:

<?php
$arr = array("张三" , "李四" , "王五" );
list($a[0], $a[1], $a[2]) = $arr;
print_r($a);//Array ( [2] => 王五 [1] => 李四 [0] => 张三 )
?>


list结合each使用:

<?php
$arr = array("张三" =>20, "李四" =>29, "王五" =>23);
while (list($key, $value) = each($arr))
</div></div>


                        <div class=