2016-05-13 2 views
1

Ich muss in einem Echo ausgedruckt werden, wie viel Männer (M) gibt es und wie viel Frauen (V) gibt es. Ich bin ziemlich neu in PHP, tut mir leid, dass ich dieses einfache Zeug nicht verstehe, aber ich kann es wirklich nicht online finden.Ausdrucken, wie viel Männer und Frauen gibt es in foreach Schleife

Dies ist das Array

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

Das ist, was ich bisher habe:

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

Antwort

2

Was Sie tun möchten, ist eigentlich die tally in Variablen zählen und halten dann die Summen Echo.

$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

können Sie array_keys PHP-Funktion verwenden: http://php.net/manual/en/function.array-keys.php

den zweiten Parameter verwenden, können Sie genau ein Suchwert.

Beispiel:

$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

Sie können array_count_values-Funktion verwenden.

$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

Dies ist meine Wahl und sollte akzeptiert sein. – AbraCadaver