在数组中记录值

时间:2010-10-06 01:54:39

标签: php arrays

我有一个数组:

$record = array(Won,Lost,Won,Won,Lost);

我想计算数组中的输赢数。

所以每当它在数组中找到“Won”时,做一个$ won ++,同样的损失,$ loss ++

我希望在完成后打印出记录。

print $won.' - '.$lost;

我想我已经明白了,为了提高效率,我们将不胜感激。

<?php
$won = 0;
$lost = 0;

foreach ($record as $i => $value) {
  if($value == "Won") {
    $won++;
  } elseif($value == "Lost") {
    $lost++;
  }
}?>

4 个答案:

答案 0 :(得分:7)

array_count_values()正是您要找的

$counts = array_count_values($record);

答案 1 :(得分:2)

它们是常量,还是您忘记引用文字字符串?我将假设它们是字符串文字。

无论如何,你可以做到

$won = $lost = 0;

foreach($record as $rec) {

    switch ($rec) {
        case 'Won':
            $won++;
            break;
        case 'Lost':
            $lost++;
            break;
    }

}

答案 2 :(得分:2)

http://php.net/manual/en/function.array-walk.php设置回调,你应该在路上

答案 3 :(得分:1)

<?php
$record = array('Won','Lost','Won','Won','Lost');
$won = 0;
$lost = 0;
foreach ($record as $stat) {
    switch($stat) {
        case 'Won':
                $won++;
                break;
        case 'Lost':
                $lost++;
                break;
    }
}
print $won.' - '.$lost;
?>
相关问题