ホームページ > バックエンド開発 > PHPの問題 > PHPを使用して配列内の同じフィールドを合計する方法

PHPを使用して配列内の同じフィールドを合計する方法

PHPz
リリース: 2023-04-25 10:10:19
オリジナル
1028 人が閲覧しました

PHP は、Web 開発に広く使用されている人気のスクリプト言語です。中でも配列は PHP の重要な機能であり、データの保存、処理、操作に使用できます。実際の開発プロセスでは、配列内の同じフィールドを合計する必要がある状況によく遭遇します。この記事では、PHP を使用して配列内の同じフィールドを合計する方法を紹介します。

1. 配列の定義
PHP では、配列は、関連するデータ項目のグループを格納できる特別な変数として定義できます。配列内の各データ項目にはインデックスを付け、一意のインデックスまたはキーを介してアクセスできます。配列を定義するには 2 つの方法があります。1 つは array() コンストラクターを使用する方法、もう 1 つは角括弧 [] を使用する方法です。

例:

$arr1 = array('apple'=>3,'banana'=>2,'orange'=>4);
$arr2 = ['apple'=>3,'banana'=>2,'orange'=>4];
ログイン後にコピー

上記の 2 つの定義は同じセマンティクスを持ちます。つまり、各要素が文字列キーを持つ連想配列が作成されます。以下では、最初の定義方法を例に説明します。

2. 配列の走査
配列の走査は、配列内のデータ項目を操作するための基本操作です。PHP で配列を走査するには 2 つの方法があります。1 つは for ループを使用して走査する方法で、もう 1 つは for ループを使用して走査する方法です。もう 1 つは foreach ループのトラバースです。

たとえば、for ループを使用して $arr1 配列を走査します:

for($i=0;$i<count($arr1);$i++){
    echo $arr1[$i]."<br>";
}
ログイン後にコピー

foreach ループを使用して $arr1 配列を走査します:

foreach($arr1 as $k => $v){
    echo "{$k}:{$v}<br>";
}
ログイン後にコピー

上記の 2 つの走査メソッド、最初のものはインデックス配列に適用され、2 番目のものは連想配列に適しています。

3. 配列内の同じフィールドを合計する方法
配列内の同じフィールドを合計するには、まず配列を走査し、次に同じフィールドに基づいて合計する必要があります。具体的な実装プロセスは次のとおりです:

1. 同じフィールドの合計の結果を格納する新しい配列 $sumArr を定義します。

$sumArr = array();
ログイン後にコピー

2. 元の配列 $arr1 を走査し、各データ項目について判断します。

foreach($arr1 as $key => $value){
    if(isset($sumArr[$key])){
        //如果$sumArr中已有$key,则将$value累加到$sumArr[$key]中
        $sumArr[$key] += $value;
    }else{
        //如果$sumArr中没有$key,直接将$value赋值给$sumArr[$key]。
        $sumArr[$key] = $value;
    }
}
ログイン後にコピー

3. 結果を出力します。

foreach($sumArr as $k => $v){
    echo "{$k}:{$v}<br>";
}
ログイン後にコピー

概要
この記事では、PHP を使用して配列内の同じフィールドを合計する方法を紹介します。配列を走査して、まず同じフィールドが出現したかどうかを判定し、出現した場合は同じフィールドのデータを蓄積し、出現しない場合は新しいデータ項目を作成します。この手法は開発時に柔軟に適用でき、さまざまなデータ処理ニーズに対応できます。

以上がPHPを使用して配列内の同じフィールドを合計する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート