list和each学习 稍难理解

// each经常和list一起用
// 而list,是80%的PHPer都搞不清楚的一个问题


// list是重合赋值语句,可以一次性为多个变量赋值

// 下面,是常见的操作---即把数组的单元赋给多个变量
$arr = array('东','南','西','北');
$east = $arr[0];
$south = $arr[1];
$west = $arr[2];
$north = $arr[3];

// 上面的这个过程,用4次赋值,把数组的4个单元,赋给4个变量,麻烦
echo $east,$south,$west,$north,'<br />';

 


// 把春夏秋冬赋给4个变量
$arr = array('春','夏','秋','冬');
list($spring,$summer,$fall,$winter) = $arr;
echo $spring,$summer,$fall,$winter,'<br />';

 

list($a,$b,$c) = array(2=>'赵',3=>'钱',1=>'孙');
var_dump($a); echo $b,$c,'<br />';


/***
list是如何工作的?

因为list能够给多个变量赋值,即把数组的多个单元分别赋给多个值.
那么,自然要注意1个最重要的地方
即-----把数组的哪个单元 对应 赋给哪个变量???

具体对应如下:
在list中,按","隔开的顺序,从左到右,分别对应右侧数组(设为$arr)
$arr[0],$arr[1],$arr[2],.... $arr[N]

如果需要对应右侧的$arr[x] 不存在怎么办?
答:依然是先对应,不存在,当成NULL来处理.


$a <===>  $arr[0]
$b <===>  $arr[1]
$c <===>  $arr[2]

映射工作完成!!!!!
开始赋值!


赋值的过程,和映射的顺序是反的,是从右往左赋的值
$c = $arr[2];
$b = $arr[1];
$a = $arr[0];


$c = '赵';
$b = '孙';
$a = NULL; // $arr[0]不存在
赋值完毕!!!!!!!!!

因此,最终打印 NULL,孙,赵
***/

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值