>  기사  >  백엔드 개발  >  看PHP手册,有段话不太理解解决思路

看PHP手册,有段话不太理解解决思路

WBOY
WBOY원래의
2016-06-13 13:39:09773검색

看PHP手册,有段话不太理解
在介绍list时候,给出了如下warning:

list() assigns the values starting with the right-most parameter. If you are using plain variables, you don't have to worry about this. But if you are using arrays with indices you usually expect the order of the indices in the array the same you wrote in the list() from left to right; which it isn't. It's assigned in the reverse order. 
我自己翻译不太明白,list有下标吗?list为什么从右到左赋值?什么情况是他所说的list下标和数组下标相反? 
我是新手,希望哪位高手予以解答,不胜感激!!!!

------解决方案--------------------
手册下面还有例子呢


$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);

输出


array(3) {
[2]=>
string(8) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
}


看出问题了没、?如果没,这样子运行

$info = array('coffee', 'brown', 'caffeine');
list($a[], $a[], $a[]) = $info;
var_dump($a);
------解决方案--------------------
示例1

PHP code
list($a, $b, $c) = array(1, 2, 3);
print_r(array($a, $b, $c));
<br><font color="#e78608">------解决方案--------------------</font><br>你说的有中文注释吧!http://php.net/manual/zh/function.list.php<br>
HTML code
Warning
list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。但是如果你用了具有索引的数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。是以相反顺序赋值的。 <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.