Re: Filling an array with random input doesn't quite work [message #185286 is a reply to message #185273] |
Sun, 16 March 2014 23:52 |
Norman Peelman
Messages: 126 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 03/16/2014 10:45 AM, Gabriel Dragffy wrote:
> On 12/03/2014 17:18, richard wrote:
>> $x=1;
>> while ($x<40){
>> $yr=range(60,69);
>> shuffle($yr);
>> $ayr[$x]=$yr[$x];
>> echo $ayr[$x]."<br>";
>> $x++;
>> }
>>
>>
>> I am attempting to load an array based upon the range of numbers 60
>> through
>> 69.
>> The array will have 40 items.
>> This code produces 9 items just fine.
>> The rest of the array is empty.
>> What am I missing?
>>
>
> I would do it like this:
>
> $arr = array_fill(0, 40, 0);
> array_walk($arr, function(&$v, $k) { $v = rand(60, 69); });
>
> That will provide you with an array containing 40 elements, each a
> random integer between 60 and 69:
>
>
> print_r($arr);
> Array
> (
> [0] => 60
> [1] => 69
> [2] => 63
> [3] => 63
> [4] => 64
> [5] => 65
> [6] => 68
> [7] => 67
> [8] => 67
> [9] => 67
> [10] => 63
> [11] => 69
> [12] => 65
> [13] => 60
> [14] => 68
> [15] => 62
> [16] => 67
> [17] => 65
> [18] => 60
> [19] => 65
> [20] => 62
> [21] => 69
> [22] => 69
> [23] => 64
> [24] => 68
> [25] => 65
> [26] => 69
> [27] => 66
> [28] => 61
> [29] => 69
> [30] => 61
> [31] => 61
> [32] => 68
> [33] => 64
> [34] => 64
> [35] => 63
> [36] => 60
> [37] => 63
> [38] => 60
> [39] => 67
> )
Nice!
--
Norman
Registered Linux user #461062
-Have you been to www.php.net yet?-
|
|
|