2016-05-13 84 views
1

我需要打印出多少男性(m)和多少女性(v)。我很新的PHP很抱歉,我不明白這個簡單的東西,但我真的無法在網上找到它。打印出在foreach循環中有多少男性和女性

這是數組

$aGente = array('jan'=> 'm', 'alice'=> 'v', 'veronica'=> 'v', 'herman'=> 'm','maria'=> 'v', 'angelica' => 'v' , 'nancy' => 'v', 'pieter' => 'm'); 

這是我到目前爲止有:

foreach($aGente as $k => $v){ 
    if($k => $v){ 
     echo $v; 
    } 
} 

回答

2

你想要做的實際上是計數並保持變量理貨則呼應總數。使用第二個參數,就可以準確的搜索值http://php.net/manual/en/function.array-keys.php

$numMales = 0; 
$numFemales = 0; 
foreach($aGente as $k => $v){ 
    if($v == "m"){ 
     $numMales++; 
    } else if($v == "v") { 
     $numFemales++; 
    } 
} 
echo "You have " . $numMales . " males and " . $numFemales . " females." 
2

您可以使用array_keys PHP函數。

例如:

$aGente = array('jan'=> 'm', 'alice'=> 'v', 'veronica'=> 'v', 'herman'=> 'm','maria'=> 'v', 'angelica' => 'v' , 'nancy' => 'v', 'pieter' => 'm'); 
$all_v = array_keys($aGente, 'v'); 
$all_m = array_keys($aGente, 'm'); 
echo count($all_v); // gives the number of v 
echo count($all_m); // gives the number of m 
1

可以使用array_count_values功能。

$aGente = array('jan'=> 'm', 'alice'=> 'v', 'veronica'=> 'v', 'herman'=> 'm','maria'=> 'v', 'angelica' => 'v' , 'nancy' => 'v', 'pieter' => 'm'); 

$count =array_count_values($aGente); 

echo "Male Count =>".$count['m']; 
echo "<br>"; 
echo "Female Count =>".$count['v']; 
+0

這是我的選擇,並應被接受。 – AbraCadaver