作者manutd4913 (manutd)
看板PHP
标题[请益]array_rand函式的使用限制
时间Mon Jan 27 21:50:26 2014
不好意思,在php方面还是新手,第一次在版上发文,
如有违反版规,还请多多见谅。
今天将以往在用电脑A上的程式码放到另一台电脑B执行,
结果发现有一段程式码的结果一直无法正确执行,
後来找了半天发现是array_rand()这个function一直很怪。
我又另外将那段程式码重新写成一个简单的程式码如下:
<?php
$total_num=100;
$random = array_rand(range(1, $total_num), $total_num);
foreach($random as $value){
//echo $value . "<br />";
@$random[$b]=$value;
}
for($x=0;$x<$total_num;$x++)
{
echo $random[$x]."</br>";
}
?>
其中奇怪的是电脑A可以正确乱数跑(ex: 69,97,55....)
,但电脑B却是按照顺序从0一直跑到99(ex:0,1,2,3,4,..99)。
想请问各位大大可能发生错误的原因?
ps. (1)两台电脑的程式码完全相同
(2)apache版本相同
(3)电脑A是32bits WIN7,电脑B是64bits WIN7
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.39.1
2F:→ alog:array_rand 这个 function 在 php 5.2.10 之後有不同行为 01/27 21:58
3F:→ alog:建议重写 01/27 21:58
4F:→ manutd4913:感谢你的回覆,找好久找不到答案! 01/27 22:02
5F:→ alog:当这种鬼打墙的情况,建议先找 php 官网 01/27 22:03
6F:→ alog:找 changelog or migration 01/27 22:04
7F:→ alog:里面会告诉你改版後,改了哪些东西,目前是 5.4 为稳定版 01/27 22:04
8F:→ manutd4913:感谢 01/27 22:07
9F:推 Huangs:这里应该用shuffle 01/30 16:26