ID: 20793 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Feedback +Status: Open Bug Type: Arrays related Operating System: Linux (redhat6.2) 2.2.14-5.0smp PHP Version: 4.2.3 New Comment:
I will test the snapshot this weekend, I have no access to a test machine earlier Ps, array_rand($brickArray, sizeof($brickArray)-3); should be array_rand($brickArray, sizeof($brickArray));, the error occur with both! Ds Previous Comments: ------------------------------------------------------------------------ [2002-12-03 11:28:27] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip ------------------------------------------------------------------------ [2002-12-03 11:24:16] [EMAIL PROTECTED] http://www.arthistory.cc/info.php for my php info ------------------------------------------------------------------------ [2002-12-03 11:21:49] [EMAIL PROTECTED] I use array_rand() to randomize an array that can have three different sizes, 450, 800 and 1152. With 450 array_rand works great. But when I try to select 800 and 1152 indexes with array_rand(), array_rand seems to seed higher number. I everycase I always get the 25 last indexes picked! Pretty weird! It seems to favor the last number! I have tried: srand ((float) microtime() * 10000000); srand ((float) microtime() * 1000000); But that didn't helped: Here's my code: if($bricks==1) $tempArrValue=450; if($bricks==2) $tempArrValue=800; if($bricks==3) $tempArrValue=1152; $brickArray = array(); for($i=1;$i<=$tempArrValue;$i++){ $brickArray[$i]=$i; } srand ((float) microtime() * 10000000); $brickArray2 = array_rand($brickArray, sizeof($brickArray)-3); for($i=0;$i<sizeof($brickArray2);$i++){ mysql_query("insert into puzzle_bricks values(0,$countryIndex,$i, " . $brickArray2[$i] . ");"); } My conclusion is that their are some problems when seeding random numbers for array_rand when you are selecting an array with more than 800 indexes as output. I mean I have solved the issue by making my own array_rand function, but I just wanted to help makeing PHP a better product. Best Regards Dave, Ps, I love PHP, Ds ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=20793&edit=1
