时间:2021-07-01 10:21:17 帮助过:5人阅读
  有两个可能你没看到  
  1.  
    list() only works on numerical arrays and assumes the numerical indices start at 0.  
 也就是,优先使用的是数字索引的值。   
 2.  
 list() assigns the values starting with the right-most parameter.  
 从参数列表的最右边开始赋值,所以$b 被赋值 0索引的值,也就是Tires ,然后$a被赋值1索引的值,所以是100 
  观察如下事实:  
  
list($a, $b) = array('a', 'b');echo "a:$a b:$b\n"; //输出 a:a b:blist($a, $b) = array(1 => 'a', 0 => 'b');echo "a:$a b:$b\n"; //输出 a:b b:alist($a, $b) = array('a'=>'a', 'b'=>'b');echo "a:$a b:$b\n"; //输出 a: b:错误信息: Undefined offset: 1  Undefined offset: 0   list($a[$b][$c], $b, $c) = array('a', 'b', 'c');print_r($a);Array    感谢上面两位同学,  
 主要是这句话确实看掉了,  
 list() only works on numerical arrays and assumes the numerical indices start at 0.   
 list() 只工作于 索引从 0 开始的 数值数组