PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。
PHP 配列のディープ コピーのベスト プラクティス: 効率的な方法の探索
PHP では、配列は広く使用されている一般的に使用されるデータ構造ですデータの保存と処理用。場合によっては、元の配列に影響を与えずにコピーを操作できるように、配列のコピーを作成したい場合があります。これをディープコピーと呼びます。
ディープコピーを選択する理由は何ですか?
ディープ コピーの主な利点の 1 つは、元の配列とコピーが互いに独立していることが保証されることです。コピーに加えられた変更は、元の配列には影響しません。これは、キャッシュや同時実行のシナリオなどの状況で役立ちます。
#ディープ コピーの方法
PHP では、ディープ コピーを実行する方法がいくつかあります。
を使用して配列を JSON 文字列に変換し、
json_decode() を使用して新しい配列に変換します。
を使用して新しい配列に逆シリアル化します。
実際のケース
次の例を考えてみましょう:$original_array = ['name' => 'John', 'age' => 30, 'scores' => [95, 85, 90]]; // 使用 json_decode() 进行深度复制 $copied_array = json_decode(json_encode($original_array), true); // 修改副本 $copied_array['name'] = 'Jane'; // 输出原始和复制的数组 echo '原始数组:'; var_dump($original_array); echo '复制的数组:'; var_dump($copied_array);
json_encode() は次のようになります。元の配列は JSON 文字列に変換され、
json_decode() によって新しい配列に変換されます。次に、コピーされた配列は、元の配列に影響を与えることなく変更されます。
以上がPHP 配列のディープ コピーのベスト プラクティス: 効率的な方法を発見するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。