php 循环组成数组,PHP循环组合数组和list的使用

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

foreach的使用:

1.用法1

1457011906.gif

??$arr=array("张三"

,"李四"

,"王五"

,"马六"

);

1457011906.gif

??foreach

($arr as

$value)

1457011906.gif

??echo $value.'

';

1457011906.gif

?>

2.用法2

3.按拷贝还是引用

默认按拷贝,和函数很相似:

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

1457011906.gif

????$arr=array(1,2,3,4);

1457011906.gif

????foreach

($arr as

&$value)

1457011906.gif

????$value*=2;

1457011906.gif

????print_r($arr);//Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )

1457011906.gif

?>

4.for循环

1457011906.gif

$arr=array(1,2,3,4,5);

1457011906.giffor

($i=0;$i1457011906.gif

echo $arr[$i].'

';

1457011906.gif

?>

5.each/list

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

1457011906.gif

$arr = array("张三"

, "李四"

, "王五"

);

1457011906.gif

$bar = each($arr);

1457011906.gif

print_r($bar);//Array ( [1] => 张三 [value] => 张三 [0] => 0 [key] => 0 )

1457011906.gif

?>

list的用法:

1457011906.gif

$arr = array("张三"

, "李四"

, "王五"

);

1457011906.gif

list($a[0], $a[1], $a[2]) = $arr;

1457011906.gif

print_r($a);//Array ( [2] => 王五 [1] => 李四 [0] => 张三 )

1457011906.gif

?>

list结合each使用:

1457011906.gif

$arr = array("张三"

=>20, "李四"

=>29, "王五"

=>23);

1457011906.gifwhile

(list($key, $value) = each($arr))

1457011906.gif

echo "$key=>$value"

.'

';

1457011906.gif

?>

注意while

(list($key, $value) = each($arr))中each得到的4元素数组中有2个数字索引分别赋给list中2个变量。

所以

1457011906.gif

$arr = array("张三"

,'b'=>"李四"

, "王五"

);

1457011906.gif

list($a[0], $a[1]) = $arr;

1457011906.gif

print_r($a);//Array ( [1] => 王五 [0] => 张三 )

1457011906.gif

?>

6.多维数组

1457011906.gif

$a = array();

1457011906.gif

$a['山东'][0] = "济南"

;

1457011906.gif

$a['山东'][1] = "威海"

;

1457011906.gif

$a['黑龙江'][0] = "哈尔滨"

;

1457011906.gif

$a['黑龙江'][1] = "齐齐哈尔"

;

1457011906.gif

foreach

($a as

$key1=>$v1) {

1457011906.gif

??echo "$key1"

.'

';

1457011906.gif

????????foreach

($v1 as

$v2) {

1457011906.gif

????????????????echo "$v2 \n"

;

1457011906.gif

????????}

1457011906.gif

????????echo '

';

1457011906.gif

}

1457011906.gif

?>

7.数组函数

key取键值

1457011906.gif

$arr = array(

1457011906.gif

????????'张三' => '济南',

1457011906.gif

????????'李四' => '烟台',

1457011906.gif

????????'王五' => '威海',

1457011906.gif

????????'赵六' => '北京',

1457011906.gif

????????);

1457011906.gif

while

($person = current($arr)) {

1457011906.gif

????????if

($person == '威海') {

1457011906.gif

????????????????echo key($arr).'

';

1457011906.gif

????????}

1457011906.gif

????????next($arr);

1457011906.gif

}

1457011906.gif

?>

上面会得到 '王五',但是如果烟台为 ""空串,则程序执行到这里会跳出循环,空串转成false。

用for实现foreach效果:

1457011906.gif

$arr = array(

1457011906.gif

????????'百度' => 'http://www.baidu.com',

1457011906.gif

????????'谷歌' => 'http://www.google.com.hk',

1457011906.gif

????????'400电话' => 'http://www.my400800.cn',

1457011906.gif

????????'bing' => 'http://cn.bing.com',

1457011906.gif

????????);

1457011906.gif

for

(reset($arr);$key=key($arr);next($arr))

1457011906.gif

echo $key.'

';

1457011906.gif

?>

这个问题同上,如果某个键值计算为false也会跳出循环。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值