Home  >  Article  >  php教程  >  数组函数解决方案

数组函数解决方案

WBOY
WBOYOriginal
2016-06-06 19:41:291244browse

数组函数 $arr=array('a','b','c'); shuffle($arr); var_dump($arr); 这样这个数组就打乱了。 shuffle($arr=array('a','b','c')); var_dump($arr); 这样就不好使,没打乱。两者不是一样的吗?怎么会效果不一样呢? ------解决思路---------------------- 从值

数组函数
$arr = array('a','b','c');<br />
shuffle($arr);<br />
var_dump($arr);

这样这个数组就打乱了。
<br />
shuffle($arr = array('a','b','c'));<br />
var_dump($arr);

这样就不好使,没打乱。两者不是一样的吗?怎么会效果不一样呢?
------解决思路----------------------
从值上看,两者是相同的
但从载体上看,两者是有区别的
shuffle($arr = array('a','b','c')); 中
$arr = array('a','b','c') 是表达式,返回的是表达式的值
而 shuffle 需要传递一个实体的变量引用,而表达式是不能传引用的

其实在 php5.3 之前并没有这个约束的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn