php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #45302 rand() after array_rand() produces the same numbers
Submitted: 2008-06-18 17:08 UTC Modified: 2008-07-02 11:47 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: sv4php at fmethod dot com Assigned:
Status: Not a bug Package: Math related
PHP Version: 5.2.6 OS: Windows XP
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
47 - 22 = ?
Subscribe to this entry?

 
 [2008-06-18 17:08 UTC] sv4php at fmethod dot com
Description:
------------
This was discovered by another guy who asked me to verify it on my configuration (and I confirmed it). I'm not sure he reported it, so just in case I do as well.

The example source code produced 989, 377, 989, 377 from rand() ad infinitum under Windows XP, Apache 2.2, PHP 5.2.6.

Important:

- Linux apparently not affected.
- mt_rand() apparently not affected.

Reproduce code:
---------------
function RandomNumber() {
	$f1 = array();

	for ($i = 0; $i < 50000; $i++) {		
		$f1[] = true;
	}	
			
	$k = array_rand($f1);
	
	$rnum = rand(1,999);	
	
	return $rnum;
}

for ($i = 0; $i < 20; $i++) {
	
	echo RandomNumber()."\n"; // produces a sequence of 377, 989, 377, 989, 377, 989, 377...  here
}

Expected result:
----------------
Random numbers.

Actual result:
--------------
Same number or narrow repeated sequence.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-07-02 11:47 UTC] jani@php.net
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

See bug #45301
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 05:01:29 2024 UTC