PHPで配列内のtrueとfalseの値をカウントする方法を解説
配列内のtrue・falseの個数を数える基本的な考え方
PHPでは、array_filter()関数とcount()関数を組み合わせることで、配列内のtrue(真)の値を簡単にカウントできます。まず配列全体の要素数を取得し、そこからtrueの件数を引けば、false(偽)の件数も求められます。
例として、次のような配列を用意しました。
$isMarriedDetails = [
false,
true,
false,
true,
true,
false,
false,
true,
false
];
この配列には9つの要素が含まれており、trueとfalseが混在しています。array_filter()はデフォルトでfalse相当の値(false、0、空文字など)を除去するため、フィルタ後の要素数がそのままtrueの件数になります。そして、全要素数からtrueの件数を差し引けば、falseの件数が算出できるという仕組みです。
サンプルコード
<!DOCTYPE html>
<html>
<body>
<?php
$isMarriedDetails = [
false,
true,
false,
true,
true,
false,
false,
true,
false
];
$trueResult = count(array_filter($isMarriedDetails));
$falseResult = count($isMarriedDetails) - $trueResult;
echo "Number of false value=",$falseResult,"<br>";
echo "Number of true value=",$trueResult;
?>
</body>
</html>
コードのポイント
array_filter($isMarriedDetails): 配列からfalseに相当する値を取り除き、trueの要素のみを残します。count(array_filter(...)): 残った要素、つまりtrueの件数をカウントします。count($isMarriedDetails) - $trueResult: 全体の件数からtrueの件数を引くことで、falseの件数を求めます。
実行結果
上記のコードを実行すると、次のような出力が得られます。
Number of false value=5 Number of true value=4
このように、わずか数行のコードで配列内のtrueとfalseの値をそれぞれ集計することができます。論理値の配列だけでなく、0やnullなどのfalsyな値を含む配列でも同様の手法が使えるため、データの統計処理や条件判定の前処理など、さまざまな場面で活用できるテクニックです。
-
PHPのarray_count_values()関数とは?配列内の値の出現回数を数える方法
PHPのarray_count_values()関数は、配列内に各値が何回出現するかを集計し、その結果を連想配列として返す関数です。返される連想配列では、元の配列の「値」がキーとなり、その値が出現した「回数」が値として格納されます。 基本構文 array_count_values(array $array): array パラメータ array(必須)− 値の出現回数を集計したい対象の配列を指定します。 戻り値 array_count_values()関数は連想配列を返します。この連想配列のキーには元の配列の各値が、値にはそれぞれの出現回数が格納されます。なお、この関数で集計できるのは文字
-
Javaでboolean配列を初期化する方法をわかりやすく解説
Javaにおけるboolean配列は、boolean型の値のみを格納できる配列です。boolean配列のデフォルト値(初期値)はfalseであり、配列を作成した時点で、すべての要素が自動的にfalseで初期化されます。一方、参照型(クラス型)の配列の場合は、nullで初期化される点に注意が必要です。 実際の開発では、「配列のすべての要素をtrueまたはfalseで明示的に初期化したい」というケースがよくあります。そのような場合には、Arrays.fill()メソッドを使うと、1行のコードで全要素をまとめて初期化できて便利です。 boolean配列の宣言構文 boolean[] booleanA