2017-01-20 7 views
0

多次元配列で特別な条件の要素の数をどのように数えることができますか?PHPの多次元配列に項目を数える

Array 
(
    [0] => Array 
     (
      [item] => 'Banana' 
     ) 

    [1] => Array 
     (
      [item] => 'Banana' 

     ) 

    [2] => Array 
     (
      [item] => 'Cherry' 
     ) 

    [3] => Array 
     (
      [item] => 'Apple' 

     ) 
) 

例えば、この配列のために私はBananaため2を見つける必要があります。

$array = array_count_values(array_column($arr,'item')) 
echo $array['Banana']; 

をしかし、それは働いていない:

Siは私が試してみました。

ありがとうございました。

+1

CHKエラー報告、その作業罰金、取得 'アレイ ( [バナナ] => 2 [チェリー] => 1 [アップル] = 1 >)'、私はこれはタイプミスであると思います ' $ array = array_count_values(array_column($ arr、 'item')) 'セミコロンがありません – devpro

+1

またはPHPのバージョンをchkしているかもしれません。5.4 – devpro

+0

@devpro:私のPHPバージョンは5.6.29です。 –

答えて

2

キーワードを1つだけ検索している場合は、要件に応じてarray_filterを使用して配列をフィルタリングすることもできます。

$key = 'Banana'; 
$bananas = array_filter ($arr, function($value) use($key){ 
    return $value['item'] == $key; 
}); 

$cnt_bananes = count($bananas);