2012-01-01 59 views
2

我正在PHP中製作一個簡單的yahtzee腳本,我已經完成了最後一點,它在最後檢查5個骰子的結果。使用數組值實例

5個骰子雙方都存儲在一個陣列,例如$dice (2,5,2,7,8)

我不是在與陣列工作經驗豐富,但有更簡單的方法來比較每個數字,喜歡找2相同的情況下, 3相同,都是一樣的等?

array_search()

回答

3

array_count_values()可能是一個值得關注的功能。它將計算數組中值的實例數。

例子:

$dice = array(2,5,2,7,7); 
$count = array_count_values($dice); 

if($n = array_keys($count, 2)) 
{ 
    // 2 of a kind 
    // $n = array(2, 7) 
} 

if(array_keys($count, 4)) 
{ 
    // 4 of a kind 
} 

if(array_keys($count, 2) && array_keys($count, 3)) 
{ 
    // Full House 
} 
+0

感謝,如果有什麼有一個種多2,種3? – user1022585 2012-01-01 13:28:01

+0

@ user1022585 - 閱讀array_count_values()是如何工作的,這應該可以回答你關於多種2的問題 – 2012-01-01 13:34:13

+0

@ user1022585:我更新了我的答案,它可以幫助你。 – 2012-01-01 13:49:34

1

就數得過來。

for ($i=0; $i<count($dice); $i++) 
     $counter[$dice[$i]]++; 
0

用途:

var_dump(array_count_values($array));