2012-01-01 55 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));