Conte valores específicos no array multidimensional
Estou tentando contar o número de vezes que um determinado valor aparece em meu array multidimensional com base em uma condição. Aqui está um array de exemplo;
$fruit = array (
"oranges" => array(
"name" => "Orange",
"color" => "orange",
"taste" => "sweet",
"healthy" => "yes"
),
"apples" => array(
"name" => "Apple",
"color" => "green",
"taste" => "sweet",
"healthy" => "yes"
),
"bananas" => array(
"name" => "Banana",
"color" => "yellow",
"taste" => "sweet",
"healthy" => "yes"
),
"grapes" => array(
"name" => "Grape",
"color" => "green",
"taste" => "sweet",
"healthy" => "yes"
)
);
Se eu quiser exibir todas as frutas de cor verde, posso fazer o seguinte (deixe-me saber se esta é a melhor maneira de fazê-lo);
for ($row = 0; $row < 3; $row++) {
if($fruit[$row]["color"]=="green") {
echo $fruit[$row]["name"] . '<br />';
}
}
Isto irá produzir;
Apple
Grape
Isso é ótimo e eu posso ver que há 2 valores lá, mas como eu posso realmente fazer o PHP contar o número de frutas onde a cor é verde e colocá-la em uma variável para eu usar mais abaixo no script para resolver o problema? Por exemplo. Eu quero fazer algo parecido;
if($number_of_green_fruit > 1) { echo "You have more than 1 piece of green fruit"; }
Eu dei uma olhada no count (); mas eu não vejo nenhuma maneira de adicionar uma cláusula 'WHERE / condicional' (a la SQL).
Qualquer ajuda seria muito apreciada.