FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Filling an array with random input doesn't quite work
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Filling an array with random input doesn't quite work [message #185294 is a reply to message #185273] Mon, 17 March 2014 02:16 Go to previous messageGo to previous message
Denis McMahon is currently offline  Denis McMahon
Messages: 634
Registered: September 2010
Karma:
Senior Member
On Sun, 16 Mar 2014 14:45:42 +0000, 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
> )

Yes, but what he wants is actually something like:

Array
(
[39] => http://mroldies.net/audio/1966/66-033.mp3
[38] => http://mroldies.net/audio/1964/64-012.mp3
[37] => http://mroldies.net/audio/1963/63-085.mp3
[36] => http://mroldies.net/audio/1960/60-014.mp3
[35] => http://mroldies.net/audio/1960/60-011.mp3
[34] => http://mroldies.net/audio/1964/64-065.mp3
[33] => http://mroldies.net/audio/1961/61-058.mp3
[32] => http://mroldies.net/audio/1960/60-026.mp3
[31] => http://mroldies.net/audio/1964/64-090.mp3
[30] => http://mroldies.net/audio/1961/61-080.mp3
[29] => http://mroldies.net/audio/1966/66-059.mp3
[28] => http://mroldies.net/audio/1963/63-066.mp3
[27] => http://mroldies.net/audio/1965/65-006.mp3
[26] => http://mroldies.net/audio/1966/66-050.mp3
[25] => http://mroldies.net/audio/1969/69-004.mp3
[24] => http://mroldies.net/audio/1963/63-100.mp3
[23] => http://mroldies.net/audio/1961/61-071.mp3
[22] => http://mroldies.net/audio/1969/69-082.mp3
[21] => http://mroldies.net/audio/1962/62-075.mp3
[20] => http://mroldies.net/audio/1969/69-080.mp3
[19] => http://mroldies.net/audio/1963/63-039.mp3
[18] => http://mroldies.net/audio/1963/63-022.mp3
[17] => http://mroldies.net/audio/1967/67-096.mp3
[16] => http://mroldies.net/audio/1961/61-041.mp3
[15] => http://mroldies.net/audio/1960/60-013.mp3
[14] => http://mroldies.net/audio/1969/69-012.mp3
[13] => http://mroldies.net/audio/1967/67-087.mp3
[12] => http://mroldies.net/audio/1961/61-009.mp3
[11] => http://mroldies.net/audio/1967/67-044.mp3
[10] => http://mroldies.net/audio/1960/60-021.mp3
[9] => http://mroldies.net/audio/1965/65-094.mp3
[8] => http://mroldies.net/audio/1961/61-071.mp3
[7] => http://mroldies.net/audio/1967/67-040.mp3
[6] => http://mroldies.net/audio/1967/67-044.mp3
[5] => http://mroldies.net/audio/1967/67-081.mp3
[4] => http://mroldies.net/audio/1962/62-022.mp3
[3] => http://mroldies.net/audio/1966/66-017.mp3
[2] => http://mroldies.net/audio/1965/65-005.mp3
[1] => http://mroldies.net/audio/1963/63-076.mp3
)

(although I suspect that he really wants either indexes 1 .. 40 or 0 ..
39, but it's hard to tell which he wants from his code.

Hence my solution of:

$x=40;
$song=array();
while(--$x)$song[$x]=sprintf("http://mroldies.net/audio/19%d/%d-%03d.mp3",
$y=rand(60,69),$y,rand(1,100));

--
Denis McMahon, denismfmcmahon(at)gmail(dot)com
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: readdir lists randomly
Next Topic: Nested PHP
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Mon May 13 22:35:19 GMT 2024

Total time taken to generate the page: 0.04150 seconds