当前位置: 代码迷 >> PHP >> 数组函数解决方案
  详细解决方案

数组函数解决方案

热度:53   发布时间:2016-04-28 16:58:15.0
数组函数
$arr = array('a','b','c');
shuffle($arr);
var_dump($arr);

这样这个数组就打乱了。

shuffle($arr = array('a','b','c'));
var_dump($arr);

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

其实在 php5.3 之前并没有这个约束的
  相关解决方案