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

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境