2013-05-11 66 views
0
function acids(){ 
    $acidsarray=array('lemonjuice','vinegar','sherry','champagne','orange'); 
    $acids=array_rand($acidsarray); 
    echo $acids; 
} 

喂服隨機值的PHP函數,我是新來的節目,這是我寫的想法是它應該吐出從陣列的成分之一的功能;當我運行它時,它會返回一個數字,通常在0到4之間,所以它正在做一些事情,儘管不是我想要的。你能看到我要去哪裏嗎?從一個數組

我用Python編寫的函數,用同樣的邏輯,它工作正常。

謝謝

+0

這是一件好事,閱讀文檔:http://php.net/manual/en/function.array-rand.php – Cyclonecode 2013-05-11 09:44:16

回答

3

array_rand只返回鍵,所以當你迴音你需要,而不是附和:

echo $acidsarray[$acids]; 
+0

對,所以在Php行話,我需要再前進一步,並鉤隨機選取器到實際陣列。 – user2372496 2013-05-13 08:45:15

+0

是的,基本上它返回一個標識符,而不是數據 – BenOfTheNorth 2013-05-13 10:21:37

0

你要做到以下幾點:

function acids(){ 
      $acidsarray=array('lemonjuice','vinegar','sherry','champagne','orange'); 
      $acids=$acidsarray[array_rand($acidsarray)]; 
      echo $acids; 
} 

因爲在docs

精選一個或多個隨機條目出的陣列,並且所述隨機條目的返回鍵(或多個密鑰)。

0

如果您已閱讀文檔,您會看到array_rand返回一個隨機索引,以便隨後在陣列上使用。

所以你需要添加:

$acids = $acidsarray[$acids]; 
0

您也可以使用隨機播放功能以服務隨機值。

function acids(){ 
    $acidsarray = array('lemonjuice','vinegar','sherry','champagne','orange'); 
    shuffle($acidsarray); 
    echo $acidsarray[0]; 
} 
+0

可能會派上用場有一天:) – user2372496 2013-05-13 08:35:35