我有一个数组:
$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++;
}
}?>
答案 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)
答案 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;
?>