2

DISABLEDまたはENABLEDにできる値の配列があるので、ENABLEDがいくつあるか知りたいです。これがコードの一部です:

$list = array(
$variable1,
$variable2,
$variable3,
$variable4
);
$count = count($list);

返信ありがとうございます。

更新:値はtrueまたはfalseではありませんが、ENABLE/DISABLEです。この場合、あなたの答えは当てはまりますか?再度、感謝します。

4

5 に答える 5

9

有効なオプションがブール値のTRUEとFALSEのみの場合、

$countTrue = array_sum($list);

編集

可能な値として「ENABLE」および「DISABLE」を使用します。

$countTrue = array_reduce(
    $list,
    function($counter, $value) {
        return $counter + ($value == 'ENABLE');
    },
    0
);
于 2012-12-04T21:21:52.937 に答える
9

使用するだけarray_filter

$list = array(true,false,true,true);
$count = count(array_filter($list));
echo $count ;

または

$list = array("Enable","DISABLE","ENabLE","ENABLE");
$count = count(array_filter($list,function($v) { return stripos($v, "enable") !== false; } ));
echo $count ;

ENABLEとは長い文字列ですが、それぞれ&DISABLEで始まり、カウントに使用できますED

$count = array_reduce($list,function($a,$b){$b{0} == "E" and $a++ ;return $a;},0);
echo $count ;

それらはすべて出力されます

3
于 2012-12-04T21:21:53.973 に答える
1
$array = array('ENABLED', 'DISABLED', 'ENABLED', 'ENABLED', 'ENABLED', 'DISABLED');
$count = array_count_values($array);

を生成します

array(2) {
  ["ENABLED"]=>int(4)
  ["DISABLED"]=>int(2)
}

を使用して呼び出すことができます

$count["ENABLED"]
于 2012-12-04T21:23:39.767 に答える
0
$list = array('ENABLE','DISABLE','ENABLE','ENABLE');   

function countTrues($n)
{
    if ($n == 'ENABLE'){return $n;}
}

$x = array_filter($list , "countTrues");

$count =  count($x);

これはトリックを行う必要があります

于 2012-12-04T21:38:46.153 に答える
0

配列を繰り返し処理して数えます。

$trueValues = 0;
foreach ($list as $listItem)
{ 
  if ($listItem)
    $trueValues++;
}

echo "Array has ".$trueValues." TRUE items);
于 2012-12-04T21:22:01.110 に答える