ホームページ  >  記事  >  バックエンド開発  >  PHPの配列の合計

PHPの配列の合計

王林
王林オリジナル
2023-05-11 09:00:08464ブラウズ

PHP は非常に強力なプログラミング言語で、Perl、Java、C 言語、その他多くの言語の長所を組み合わせており、習得が容易で、実行速度が速く、開発効率が高いという特徴があります。 PHP は JavaScript と同様にスクリプト言語であり、スクリプト言語の重要な特徴は、さまざまなデータ型をサポートしていることです。その中で、配列は PHP で最もよく使用されるデータ型の 1 つです。

PHP では、配列には文字列、数値、配列などの複数の値を格納できます。これらの値を操作することで、検索、並べ替え、統計などのさまざまな機能を実装できます。この記事では、配列の合計の単純かつ実践的な操作に焦点を当てます。

配列の合計では、まず配列に追加する値のデータ型を明確にする必要があります。 PHP では、配列要素のデータ型が数値の場合、組み込み関数 array_sum() を直接使用して合計を実行できますが、そうでない場合は型変換が必要になるためです。

以下は、ランダムに生成された 10 個の数値を含む配列の例です:

$num_array = array(7, 12, 25, 78, 2, 45, 32, 19, 66, 81);

この配列を合計する必要がある場合は、array_sum() 関数を直接呼び出すことができます:

$sum = array_sum($num_array);
echo "数组元素之和为: " . $sum;

出力結果は次のとおりです:

数组元素之和为: 367

array_sum() 関数の使用は非常に簡単で、配列内のすべての数値を直接加算して加算結果を返すことができます。

ただし、配列内の要素が数値でない場合は、array_sum() 関数を直接使用することはできません。この時点で、配列要素に対して型変換を実行する必要があります。たとえば、配列要素が文字列の場合、次のように (int) または (float) を使用して数値型に変換できます。

$str_array = array("37", "56.2", "48", "92.8", "73");
$str_sum = array_sum(array_map('floatval', $str_array));
echo "数组元素之和为: " . $str_sum;

出力結果は次のとおりです。

数组元素之和为: 307

上記コードではarray_map()関数とfloatval()関数を使用しています。このうち、array_map() 関数は 2 つのパラメーターを受け取り、最初のパラメーターは変換関数の名前、2 番目のパラメーターは変換する必要がある配列です。 floatval() 関数は、文字列を浮動小数点数に変換するために使用されますが、整数型の文字列を整数型に変換することもできます。最後に、変換された配列は、array_sum() 関数を使用して合計されます。

配列要素がブール型または NULL 型の場合、数値型に変換してから合計できます。サンプルコードは以下のとおりです。

$bool_array = array(true, false, true, false);
$null_array = array(null, 20, null, 10);
$bool_sum = array_sum(array_map('intval', $bool_array));
$null_sum = array_sum(array_map('intval', $null_array));
echo "布尔类型数组元素之和为: " . $bool_sum . "<br />";
echo "NULL类型数组元素之和为: " . $null_sum;

出力結果は次のとおりです。

布尔类型数组元素之和为: 2<br />NULL类型数组元素之和为: 30

上記コードでは、intval()関数を使用してBoolean型とNULL型の配列要素を変換しています。数値型の場合、array_sum を () 関数を使用して合計します。

要約すると、PHP の配列合計演算は非常に単純で、さまざまな種類の配列要素との互換性が優れています。実際の開発では、より複雑な合計要件を達成するために、必要に応じて変換関数を自分で定義できます。

以上がPHPの配列の合計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。