数组函数

qq_27728865 2015-08-14 02:23:57
$arr = array('a','b','c');
shuffle($arr);
var_dump($arr);

这样这个数组就打乱了。

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

这样就不好使,没打乱。两者不是一样的吗?怎么会效果不一样呢?
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2015-08-15
  • 打赏
  • 举报
回复
从值上看,两者是相同的 但从载体上看,两者是有区别的 shuffle($arr = array('a','b','c')); 中 $arr = array('a','b','c') 是表达式,返回的是表达式的值 而 shuffle 需要传递一个实体的变量引用,而表达式是不能传引用的 其实在 php5.3 之前并没有这个约束的
在京务工人员 2015-08-14
  • 打赏
  • 举报
回复
if( a = 0 ) 是真是假?
qq_27728865 2015-08-14
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
shuffle 需要传递给他一个实体 否则会有 Strict Standards: Only variables should be passed by reference 警告
shuffle($arr = array('a','b','c')); $arr = array('a','b','c'); shuffle($arr); 两者不是同一性质的吗?为什么结果不一样呢?
qq_27728865 2015-08-14
  • 打赏
  • 举报
回复
大伙牛逼 结贴给报酬分了。谢谢
langya_87 2015-08-14
  • 打赏
  • 举报
回复
引用 楼主 qq_27728865 的回复:
$arr = array('a','b','c');
shuffle($arr);
var_dump($arr);
这样这个数组就打乱了。

shuffle($arr = array('a','b','c'));
var_dump($arr);
这样就不好使,没打乱。两者不是一样的吗?怎么会效果不一样呢?
shuffle这个函数 只能有1个参数 参数还必须是数组 你这样传进去的是表达式=
xuzuning 2015-08-14
  • 打赏
  • 举报
回复
shuffle 需要传递给他一个实体 否则会有 Strict Standards: Only variables should be passed by reference 警告
qq_27728865 2015-08-14
  • 打赏
  • 举报
回复
引用 楼主 qq_27728865 的回复:
$arr = array('a','b','c');
shuffle($arr);
var_dump($arr);
这样这个数组就打乱了。

shuffle($arr = array('a','b','c'));
var_dump($arr);
这样就不好使,没打乱。两者不是一样的吗?怎么会效果不一样呢?
完全不知道您说什么
qq_27728865 2015-08-14
  • 打赏
  • 举报
回复
牛逼楼上
misaka去年夏天 2015-08-14
  • 打赏
  • 举报
回复
$arr = array('a','b','c') 这个是赋值运算,运算的结果是为真,打乱布尔值true 没什么意义。。

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧