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

Bagaimana untuk menggantikan nilai dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-25 09:45:26
asal
706 orang telah melayarinya

Sebagai bahasa skrip sebelah pelayan, PHP selalunya perlu memproses data tatasusunan Salah satu keperluan biasa ialah menggantikan nilai dalam tatasusunan. Menggantikan nilai dalam tatasusunan boleh dicapai melalui fungsi array_map(), atau melalui gelung foreach. Artikel ini akan menerangkan langkah khusus bagi dua kaedah pelaksanaan menggunakan kod.

Cara pertama: gunakan fungsi array_map()

array_map() ialah kaedah yang menghantar setiap elemen satu atau lebih tatasusunan kepada fungsi panggil balik dan mengembalikan fungsi panggil balik yang mengandungi Fungsi untuk tatasusunan daripada elemen yang diproses. Menggunakan fungsi array_map() boleh menggantikan nilai dalam tatasusunan dengan mudah.

Sebagai contoh, terdapat tatasusunan $originalArray, di mana "value1" perlu digantikan dengan "newvalue1", kodnya adalah seperti berikut:

$originalArray = array("key1" => "value1", "key2" => "value2", "key3" => "value3");

function changeValue($value)
{
    if ($value == "value1") {
        return "newvalue1";
    } else {
        return $value;
    }
}

$newArray = array_map("changeValue", $originalArray);

print_r($newArray);
Salin selepas log masuk

Jalankan kod, hasil output adalah seperti berikut:

Array
(
    [key1] => newvalue1
    [key2] => value2
    [key3] => value3
)
Salin selepas log masuk
Salin selepas log masuk

Seperti yang dapat dilihat daripada kod di atas, fungsi panggil balik changeValue() ditakrifkan untuk menentukan sama ada nilai yang diterima ialah "value1". ", jika tidak ia mengembalikan nilai asal. Kemudian gunakan fungsi array_map() untuk menghantar tatasusunan asal $originalArray dan fungsi panggil balik "changeValue" ke dalam fungsi, dapatkan tatasusunan baharu $newArray, dan keluarkan hasilnya.

Cara kedua: Gunakan gelung foreach

Menggunakan gelung foreach juga boleh menggantikan nilai dalam tatasusunan Langkah-langkah khusus adalah seperti berikut:

$originalArray = array("key1" => "value1", "key2" => "value2", "key3" => "value3");

foreach ($originalArray as $key => $value) {
    if ($value == "value1") {
        $originalArray[$key] = "newvalue1";
    }
}

print_r($originalArray);
Salin selepas log masuk

Jalankan kod dan keluarkan hasilnya Seperti berikut:

Array
(
    [key1] => newvalue1
    [key2] => value2
    [key3] => value3
)
Salin selepas log masuk
Salin selepas log masuk

Seperti yang dapat dilihat daripada kod di atas, gunakan gelung foreach untuk melintasi tatasusunan $originalArray untuk menentukan sama ada untuk menggantikan nilai $value Jika arus nilai $value ialah "value1", kemudian $ Nilai nilai $key yang sepadan dalam tatasusunan originalArray dikemas kini kepada "newvalue1".

Ringkasan

Kedua-dua kaedah di atas boleh mencapai penggantian nilai dalam tatasusunan Untuk jumlah data yang besar, menggunakan fungsi array_map() biasanya lebih pantas daripada menggunakan foreach gelung. Walau bagaimanapun, perlu diingatkan bahawa masalah akan berlaku apabila menggunakan fungsi array_map() untuk memproses tatasusunan berbilang dimensi, dan fungsi rekursif perlu digunakan untuk menyelesaikannya. Dan apabila menggunakan gelung foreach untuk memproses tatasusunan, beri perhatian untuk mengubah suai nilai tatasusunan asal, jika tidak gelung tak terhingga mungkin berlaku. Dalam perkembangan sebenar, perlu memilih kaedah yang sesuai mengikut situasi tertentu.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan