ホームページ  >  記事  >  バックエンド開発  >  PHP 配列の要素の置換操作について詳しく説明します。

PHP 配列の要素の置換操作について詳しく説明します。

PHPz
PHPzオリジナル
2023-04-23 09:18:00534ブラウズ

PHP は広く使用されているサーバーサイド スクリプト言語であり、強力なデータ処理機能と柔軟性を備えており、Web 開発で広く使用されています。その中でも配列は非常に重要なデータ型であり、データの保存や操作によく使用されます。 PHP では、組み込み関数を使用して、配列に対して追加、削除、クエリ、並べ替え、走査などのさまざまな操作を実行できます。この記事では、PHP 配列の要素の置換操作に焦点を当て、具体的なコード例を示します。

1. 配列要素を置換するための一般的な関数

PHP には、配列内の要素を置換するための複数の関数が用意されており、その中で最もよく使用されるのは次の 3 つの関数です:

  1. array_replace($array1, $array2)

この関数は、配列 2 の要素を配列 1 の対応する要素で置き換えます。配列 1 または配列 2 に同じキー名がある場合は、次を使用します。後の配列の値で前の配列の値を置き換えます。次のコード例を見てください:

$array1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$array2 = array('a' => 'apricot', 'd' => 'date');
$result = array_replace($array1, $array2);
print_r($result);

上記のコードを実行すると、次の出力が得られます:

Array
(
    [a] => apricot
    [b] => banana
    [c] => cherry
    [d] => date
)

ご覧のとおり、配列 1 のキーと値のペア ('a '=>'apple ') は、配列 2 のキーと値のペア ('a'=>'apricot') と新しいキーと値のペア ('d'=>'date') に置き換えられました。配列 2 の も最終結果の配列に追加されています。

  1. array_replace_recursive($array1, $array2)

この関数は array_replace() とよく似ていますが、配列 2 の要素を配列 1 の要素と再帰的に置き換えます。対応する要素。 array1 または array2 の値が配列の場合、その値内のキーと値のペアも再帰的に置換されます。次のコード例を見てください:

$array1 = array('a' => array('b' => 'blue', 'c' => 'cyan'), 'd' => 'black');
$array2 = array('a' => array('b' => 'brown', 'e' => 'emerald'));
$result = array_replace_recursive($array1, $array2);
print_r($result);

上記のコードを実行すると、次の出力が得られます:

Array
(
    [a] => Array
        (
            [b] => brown
            [c] => cyan
            [e] => emerald
        )

    [d] => black
)

ご覧のとおり、配列 1 のキーと値のペア ('a '=>array( 'b'=>'blue', 'c'=>'シアン')) は、配列 2 のキーと値のペア ('a'=>array('b) に置き換えられました'=>'ブラウン', 'e'=>'エメラルド'))。さらに、配列内のサブ配列も再帰的に置き換えられます。

  1. array_splice($array, $offset, $length, $replacement)

この関数は、配列内の指定された位置にある要素を削除し、その位置に新しい要素が追加されます。具体的には、$offset パラメータは削除/置換される要素の開始インデックス位置を表し、$length パラメータは削除される要素の数 (要素が削除されない場合は 0) を表し、$replacement パラメータは新しい要素を表します。挿入されること。次のコード例を見てください:

$array = array('red', 'green', 'blue', 'yellow');
array_splice($array, 1, 2, array('purple', 'orange'));
print_r($array);

上記のコードを実行すると、次の出力が得られます:

Array
(
    [0] => red
    [1] => purple
    [2] => orange
    [3] => yellow
)

元の配列のインデックス 1 から始まる 2 つの要素が確認できます ( 'green'、'blue') が削除され、2 つの新しい要素 ('purple'、'orange') がインデックス 1 に挿入されました。

2. アプリケーション例

次に、特定のアプリケーション シナリオに基づいて、上記の関数を使用して PHP 配列内の要素を置換する方法を見てみましょう。

  1. 置換ルールの適用

キー名がいくつかの植物の中国語名で、キー値が英語名である配列があるとします。ここで、「apple」を「orange」に、「cherry」を「grape」になど、これらの植物の一部の英語名を置き換え、残りは変更しないようにします。これは、array_replace() 関数を使用して実現できます。以下のサンプル コードをご覧ください:

$plants = array('苹果' => 'apple', '香蕉' => 'banana', '樱桃' => 'cherry', '葡萄' => 'grape');
$rules = array('apple' => 'orange', 'cherry' => 'grape');
$newPlants = array_replace($plants, $rules);
print_r($newPlants);

上記のコードを実行すると、次の出力が得られます:

Array
(
    [苹果] => orange
    [香蕉] => banana
    [樱桃] => grape
    [葡萄] => grape
)

「Apple」と「Apple」のキー値が確認できます。 「Cherry」が分離され、残りのキー値は変更せずに「orange」と「grape」に置き換えられます。

  1. 多次元配列の適用

多次元配列があり、キー名がいくつかの都市の名前で、キー値が連想配列であると仮定します。都市の人口、産業、その他の情報。ここで、特定の都市の人口を加算および減算し、結果を元の配列に保存したいと思います。これは、array_replace_recursive() 関数を使用して実現できます。コードは次のとおりです:

$cities = array(
    '北京市' => array('人口' => 2154, '产业' => '政治、文化、金融、科技'),
    '上海市' => array('人口' => 2424, '产业' => '金融、贸易、科技、文化'),
    '广州市' => array('人口' => 1500, '产业' => '商贸、制造、物流、金融')
);
$rules = array(
    '北京市' => array('人口' => -100),
    '广州市' => array('人口' => 200)
);
$newCities = array_replace_recursive($cities, $rules);
print_r($newCities);

上記のコードを実行すると、次の出力が得られます:

Array
(
    [北京市] => Array
        (
            [人口] => 2054
            [产业] => 政治、文化、金融、科技
        )

    [上海市] => Array
        (
            [人口] => 2424
            [产业] => 金融、贸易、科技、文化
        )

    [广州市] => Array
        (
            [人口] => 1700
            [产业] => 商贸、制造、物流、金融
        )
)

ご覧のとおり、人口北京の人口は100万人減少、広州の人口は100万人減少、上海の人口は200万人増加しましたが、上海の情報は変わりませんでした。

  1. 指定要素の削除の応用

複数の個人の名前と年齢を格納する配列があるとします。今回は30歳以上の情報を削除したいと思います。これは、array_splice() 関数を使用して実現できます。コードは次のとおりです:

$people = array(
    array('name' => '张三', 'age' => 25),
    array('name' => '李四', 'age' => 35),
    array('name' => '王五', 'age' => 28),
    array('name' => '赵六', 'age' => 42)
);
for ($i = count($people) - 1; $i >= 0; $i--) {
    if ($people[$i]['age'] >= 30) {
        array_splice($people, $i, 1);
    }
}
print_r($people);

上記のコードを実行すると、次の出力が得られます:

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 25
        )

    [1] => Array
        (
            [name] => 王五
            [age] => 28
        )

)

30 歳以上の 2 人の情報は削除されましたが、30 歳未満の 2 人の情報は変更されませんでした。

3. まとめ

PHP では配列は非常によく使われるデータ構造であり、さまざまな関数を使用して追加、削除、変更、確認することができます。この記事では、array_replace()、array_replace_recursive()、array_splice() の 3 つの関数の使用法に焦点を当てて、PHP 配列の要素の置換操作を紹介し、特定のアプリケーション シナリオに基づいたコード例を示します。この記事が、読者が PHP 配列の関連知識をよりよく理解し、活用できるようになれば幸いです。

以上がPHP 配列の要素の置換操作について詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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