PHP は広く使用されているサーバーサイド スクリプト言語であり、強力なデータ処理機能と柔軟性を備えており、Web 開発で広く使用されています。その中でも配列は非常に重要なデータ型であり、データの保存や操作によく使用されます。 PHP では、組み込み関数を使用して、配列に対して追加、削除、クエリ、並べ替え、走査などのさまざまな操作を実行できます。この記事では、PHP 配列の要素の置換操作に焦点を当て、具体的なコード例を示します。
1. 配列要素を置換するための一般的な関数
PHP には、配列内の要素を置換するための複数の関数が用意されており、その中で最もよく使用されるのは次の 3 つの関数です:
この関数は、配列 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 の も最終結果の配列に追加されています。
この関数は 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'=>'エメラルド'))。さらに、配列内のサブ配列も再帰的に置き換えられます。
この関数は、配列内の指定された位置にある要素を削除し、その位置に新しい要素が追加されます。具体的には、$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 配列内の要素を置換する方法を見てみましょう。
キー名がいくつかの植物の中国語名で、キー値が英語名である配列があるとします。ここで、「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」に置き換えられます。
多次元配列があり、キー名がいくつかの都市の名前で、キー値が連想配列であると仮定します。都市の人口、産業、その他の情報。ここで、特定の都市の人口を加算および減算し、結果を元の配列に保存したいと思います。これは、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万人増加しましたが、上海の情報は変わりませんでした。
複数の個人の名前と年齢を格納する配列があるとします。今回は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 サイトの他の関連記事を参照してください。