PHPの配列置換関数

王林
リリース: 2023-05-06 12:47:08
オリジナル
903 人が閲覧しました

PHP プログラミング言語では、配列は非常に一般的で実用的なデータ型です。配列では、添え字に基づいて配列要素にすばやくアクセスして変更できます。しかし、実際のプログラミングでは、配列内の要素を置換する必要があることがよくありますが、このとき、PHP に組み込まれている配列置換関数は非常に便利で実用的です。

この記事では、array_replace()、array_replace_recursive()、array_merge()、array_merge_recursive()、array_combine() およびその他の関数を含む、PHP の配列置換関数を詳しく紹介します。

1. array_replace()

array_replace() 関数は、ある配列の要素を別の配列の要素に置き換えるのに使用され、重複したキーがある場合、後続の値は上書きされます。以前の値。この関数の構文は次のとおりです。

array array_replace ( array $array1 , array $array2 [, array $... ] )
ログイン後にコピー

このうち、$array1 は元の配列、$array2 は置換される配列、$... は複数の配列を渡すことができることを示します。この関数は、置換された配列を返します。

以下はサンプル コードです:

<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("b" => "blueberry", "c" => "coconut");
$result = array_replace($array1, $array2);
print_r($result);
?>
ログイン後にコピー

このコードの出力は次のとおりです:

Array
(
    [a] => apple
    [b] => blueberry
    [c] => coconut
)
ログイン後にコピー

ご覧のとおり、配列 $array2 の要素が配列に置き換えられています。 $array1 に対応する要素。

2. array_replace_recursive()

array_replace_recursive() 関数の使用法は基本的に array_replace() と同じですが、配列内の要素を再帰的に置換します。この関数の構文は次のとおりです。

array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )
ログイン後にコピー

array_replace() とは異なり、この関数の置換操作は再帰的に実行されます。たとえば、2 つの配列がある場合:

$array1 = array("a" => array("b" => "banana", "c" => "cherry"));
$array2 = array("a" => array("b" => "blueberry", "d" => "date"));
ログイン後にコピー

array_replace() 関数を使用すると、結果は次のようになります:

$result = array_replace($array1, $array2);
print_r($result);
ログイン後にコピー

出力結果:

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

)
ログイン後にコピー
ログイン後にコピー

As you $ array2 の要素は $array1 の要素を正常に置き換えましたが、元々 $array1 に属していた要素 "c" が削除されていることがわかります。これは、array_replace() 関数が $array2 の要素を $array1 の要素に置き換えるだけであり、サブ配列を考慮していないためです。

array_replace_recursive() 関数を使用してこれら 2 つの配列を置き換えると、結果は次のようになります:

$result = array_replace_recursive($array1, $array2);
print_r($result);
ログイン後にコピー

出力結果:

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

)
ログイン後にコピー
ログイン後にコピー

次の要素が含まれていることがわかります。 $array1 "c" は正常に保持され、$array2 の要素 "d" も結果の配列に正常に追加されます。これは、array_replace_recursive() 関数が両方の配列のすべての要素を再帰的に保持することを意味します。

3. array_merge()

array_merge() 関数は、複数の配列を新しい配列にマージし、重複した要素を削除するために使用されます。この関数の構文は次のとおりです。

array array_merge ( array $array1 [, array $... ] )
ログイン後にコピー

このうち、$array1 は最初の配列であり、複数の配列を渡すことができます。この関数は、新しく結合された配列を返します。

以下はサンプル コードです:

<?php
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("b" => "blueberry", "c" => "cherry");
$result = array_merge($array1, $array2);
print_r($result);
?>
ログイン後にコピー

このコードの出力は次のとおりです:

Array
(
    [a] => apple
    [b] => blueberry
    [c] => cherry
)
ログイン後にコピー

ご覧のとおり、この関数は 2 つの配列の要素をマージします。重複した要素が削除された新しい配列に。

4. array_merge_recursive()

array_merge_recursive() 関数の使用法は、配列内の要素を再帰的にマージする点を除いて、array_merge() と似ています。この関数の構文は次のとおりです。

array array_merge_recursive ( array $array1 [, array $... ] )
ログイン後にコピー

array_merge() とは異なり、この関数のマージ操作は再帰的に実行されます。たとえば、2 つの配列がある場合:

$array1 = array("a" => array("b" => "banana"));
$array2 = array("a" => array("c" => "cherry"));
ログイン後にコピー

array_merge() 関数を使用して 2 つの配列をマージすると、結果は次のようになります:

$result = array_merge($array1, $array2);
print_r($result);
ログイン後にコピー

出力結果:

Array
(
    [a] => Array
        (
            [c] => cherry
        )

)
ログイン後にコピー

ご覧のとおり、$array2 の要素は結果の配列に正常にマージされましたが、もともと $array1 に属していた要素 "b" は削除されました。これは、array_merge() 関数がサブ配列を考慮せずに 2 つの配列内の要素を単純にマージするためです。

array_merge_recursive() 関数を使用してこれら 2 つの配列をマージすると、結果は次のようになります:

$result = array_merge_recursive($array1, $array2);
print_r($result);
ログイン後にコピー

出力結果:

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

)
ログイン後にコピー

ご覧のとおり、$array1および $array2 の要素は結果の配列に正常にマージされます。これは、array_merge_recursive() 関数が 2 つの配列内のすべての要素を再帰的にマージすることを意味します。

5. array_combine()

array_combine() 関数は、ある配列のキー名を別の配列の値として使用して、新しい配列を生成するために使用されます。この関数の構文は次のとおりです。

array array_combine ( array $keys , array $values )
ログイン後にコピー

このうち、$keys はキー名を含む配列、$values はキー値を含む配列です。この関数は、$keys 配列のキーと $values 配列のキー値を含む新しい配列を返します。

以下はサンプル コードです:

<?php
$keys = array("a", "b", "c");
$values = array("apple", "banana", "cherry");
$result = array_combine($keys, $values);
print_r($result);
?>
ログイン後にコピー

このコードの出力は次のとおりです:

Array
(
    [a] => apple
    [b] => banana
    [c] => cherry
)
ログイン後にコピー

ご覧のとおり、この関数は $keys 内の要素を変換します。と $values 配列を組み合わせると、新しい配列が生成されます。

概要

この記事では、array_replace()、array_replace_recursive()、array_merge()、array_merge_recursive()、array_combine() およびその他の関数を含む、PHP の配列置換関数を紹介します。これらの関数は実際のプログラミングに非常に役立ち、配列の迅速な操作と処理、コードの品質と効率の向上に役立ちます。

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

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