Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggantikan nilai dalam tatasusunan dalam php

Bagaimana untuk menggantikan nilai dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-21 09:12:291032semak imbas

Operasi tatasusunan adalah salah satu tugas yang sangat biasa apabila pengaturcaraan dalam PHP. Antaranya, menggantikan nilai dalam tatasusunan juga merupakan salah satu operasi biasa.

Dalam PHP, anda boleh menggunakan dua fungsi untuk menggantikan nilai dalam tatasusunan: array_replace() dan array_replace_recursive(). Di bawah, kami akan memperkenalkan penggunaan dan langkah berjaga-jaga kedua-dua fungsi ini masing-masing.

1. array_replace()

Fungsi array_replace() adalah untuk menggantikan nilai satu atau lebih tatasusunan ke dalam tatasusunan asal. Sintaksnya adalah seperti berikut:

mixed array_replace ( array $array1 , array $array2 [, array $... ] )

Antaranya, $array1 ialah array asal, $array2 ialah array yang perlu diganti dalam array asal, $... boleh digunakan apabila terdapat berbilang tatasusunan yang perlu diganti.

Di bawah, kami menggunakan contoh kod berikut untuk menunjukkan penggunaan fungsi ini:

<?php
$array1 = array("a" => "red", "b" => "green");
$array2 = array("a" => "blue", "yellow");
$result = array_replace($array1, $array2);
print_r($result);
?>

Hasil output adalah seperti berikut:

Array
(
    [a] => blue
    [b] => green
    [0] => yellow
)

Seperti yang boleh dilihat, tatasusunan asal $ Nilai kunci = 'a' dalam tatasusunan1 digantikan dengan nilai kunci = 'a' dalam $array2, dan tiada kunci dalam $array2, tetapi ditambah terus dengan subskrip angka, jadi a elemen baharu No. 0 dijana: 'kuning'.

2. array_replace_recursive()

array_replace_recursive() fungsi adalah serupa dengan array_replace(), yang turut menggantikan nilai satu atau lebih tatasusunan ke dalam tatasusunan asal. Perbezaannya ialah jika tatasusunan bersarang berbilang dimensi, fungsi secara rekursif menggantikan nilai yang sepadan bagi semua sub-tatasusunan. Sintaks adalah seperti berikut:

mixed array_replace_recursive ( array $array1 , array $array2 [, array $... ] )

Di bawah, kami menggunakan contoh kod berikut untuk menunjukkan penggunaan fungsi ini:

<?php
$array1 = array("a" => array("red"), "b" => array("green", "blue"));
$array2 = array("a" => array("yellow"), "b" => array("black"));
$result = array_replace_recursive($array1, $array2);
print_r($result);
?>

Hasil output adalah seperti berikut:

Array
(
    [a] => Array
        (
            [0] => yellow
        )

    [b] => Array
        (
            [0] => black
            [1] => blue
        )

)

Dapat dilihat bahawa nilai yang sepadan dalam kunci = 'a' dan kunci = 'b' dalam tatasusunan asal $array1 digantikan dengan nilai dalam $array2.

3. Nota

Apabila menggunakan fungsi array_replace() dan array_replace_recursive(), anda perlu memberi perhatian kepada perkara berikut:

  1. Jika kekunci dalam tatasusunan adalah sama, Tatasusunan terakhir akan menggantikan nilai tatasusunan sebelumnya, dan pasangan nilai kunci yang sepadan dengan tatasusunan sebelumnya akan dipadamkan.
  2. Jika kunci dalam tatasusunan berbeza, tatasusunan berikutnya akan ditambahkan pada tatasusunan sebelumnya dan nilai tatasusunan sebelumnya tidak akan dipadamkan.
  3. Apabila menggunakan fungsi array_replace_recursive(), jika tatasusunan yang digantikan mengandungi tatasusunan berbilang dimensi, fungsi tersebut akan menggantikan nilai yang sepadan bagi semua sub-tatasusunan secara rekursif. Jika anda tidak mahu menggantikan secara rekursif, anda boleh menggunakan fungsi array_replace().

Secara amnya, operasi tatasusunan dalam PHP adalah sangat fleksibel, dan operasi penggantian tatasusunan juga boleh diselesaikan dengan mudah menggunakan beberapa fungsi tatasusunan. Penggunaan dan langkah berjaga-jaga kedua-dua fungsi di atas juga sangat mudah. ​​Saya harap artikel ini akan membantu pengaturcaraan PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk menggantikan nilai dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn