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

Bagaimana untuk mengubah suai nilai dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-19 14:02:04
asal
1110 orang telah melayarinya

Dalam pembangunan PHP, tatasusunan pengendalian adalah salah satu operasi yang sering ditemui. Apabila mengendalikan tatasusunan, kadangkala anda perlu mengubah suai nilai dalam tatasusunan. Jadi dalam PHP, bagaimana untuk mengubah suai nilai dalam tatasusunan? Yang berikut akan memperkenalkannya kepada anda secara terperinci.

1. Gunakan gelung for untuk melintasi tatasusunan untuk mengubah suai nilai

Kaedah paling asas ialah menggunakan gelung for untuk melintasi tatasusunan dan mengubah suai nilai yang perlu diubah suai. Pelaksanaan khusus adalah seperti berikut:

<?php
$arr = [1, 2, 3, 4, 5];
for($i = 0; $i < count($arr); $i++) {
    if($arr[$i] == 2) {
        $arr[$i] = 20;
    }
}
print_r($arr);
?>
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan tatasusunan $arr yang mengandungi 5 elemen, kemudian melintasi tatasusunan melalui gelung for dan gunakan pernyataan if untuk menentukan sama ada elemen adalah sama dengan 2. Jika ia sama dengan 2, ubah suai kepada 20. Akhir sekali, kami memanggil fungsi print_r() untuk mengeluarkan tatasusunan yang diubah suai.

Perlu diingat bahawa kaedah ini sesuai untuk hanya satu nilai dalam tatasusunan yang perlu diubah suai. Jika terdapat berbilang nilai yang perlu diubah suai, tatasusunan perlu dilalui beberapa kali, dan kecekapan akan menjadi agak rendah.

2. Gunakan gelung foreach untuk mengubah suai nilai tatasusunan

Selain untuk gelung, kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan dan mengubah suai nilai. Pelaksanaan khusus adalah seperti berikut:

<?php
$arr = [
    [&#39;name&#39; => 'Tom', 'age' => 18],
    ['name' => 'Lucy', 'age' => 20],
    ['name' => 'John', 'age' => 22],
];

foreach($arr as &$val) {
    if($val['name'] == 'Lucy') {
        $val['age'] = 21;
    }
}

print_r($arr);
?>
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan tatasusunan dua dimensi $arr yang mengandungi 3 elemen, di mana setiap subtatasusunan mengandungi dua pasangan nilai kunci: nama dan umur. Kita boleh menggunakan gelung foreach untuk melintasi tatasusunan dan menggunakan pernyataan if untuk menentukan sama ada nama sama dengan Lucy. Jika ia sama dengan Lucy, ubah suai umurnya kepada 21. Perlu diingatkan di sini bahawa kita menggunakan simbol & sebelum pembolehubah gelung $val, menunjukkan bahawa $val ialah rujukan, dan mengubah suai nilainya akan mengubah suai nilai secara langsung dalam tatasusunan asal.

3. Gunakan fungsi array_map() untuk mengubah suai nilai array

PHP menyediakan fungsi array_map() yang sangat mudah, yang boleh melaksanakan fungsi panggil balik untuk setiap elemen dalam tatasusunan. Melalui fungsi ini, kita boleh mengubah suai nilai dalam tatasusunan dengan mudah.

<?php
$arr = [1, 2, 3, 4, 5];
$arr = array_map(function($val) {
    if($val == 2) {
        return 20;
    }
    return $val;
}, $arr);
print_r($arr);
?>
Salin selepas log masuk

Dalam kod di atas, kami memanggil fungsi array_map() dan meneruskan fungsi tanpa nama sebagai parameter pertama. Fungsi fungsi tanpa nama ini adalah untuk menentukan sama ada elemen itu sama dengan 2. Jika ia sama dengan 2, kembalikan 20, jika tidak, kembalikan elemen itu sendiri. Akhirnya, kami mengeluarkan tatasusunan yang diubah suai.

4. Gunakan fungsi array_walk() untuk mengubah suai nilai array

Serupa dengan fungsi array_map(), PHP juga menyediakan fungsi array_walk() lain untuk digunakan pada setiap elemen dalam Pengguna tatasusunan -fungsi yang ditetapkan. Contoh khusus adalah seperti berikut:

<?php
$arr = [
    [&#39;name&#39; => 'Tom', 'age' => 18],
    ['name' => 'Lucy', 'age' => 20],
    ['name' => 'John', 'age' => 22],
];

function changeAge(&$val, $key) {
    if($val['name'] == 'Lucy') {
        $val['age'] = 21;
    }
}

array_walk($arr, 'changeAge');
print_r($arr);
?>
Salin selepas log masuk

Dalam kod, kami mentakrifkan fungsi changeAge() untuk menentukan sama ada nama subarray dalam tatasusunan adalah sama dengan Lucy. Jika ia sama dengan Lucy, ubah suai umurnya kepada 21. Kemudian, kami memanggil fungsi array_walk(), melepasi changeAge() sebagai parameter kedua. Perlu diingatkan di sini bahawa parameter pertama $val fungsi changeAge() ialah jenis rujukan, iaitu, mengubah suai nilai $val akan mengubah suai nilai secara langsung dalam tatasusunan asal.

Ringkasan:

Melalui empat kaedah di atas, kita boleh mengubah suai nilai dalam tatasusunan dengan mudah. Kaedah yang paling sesuai perlu dipertimbangkan berdasarkan situasi sebenar. Sudah tentu, sebagai tambahan kepada kaedah di atas, terdapat kaedah lain untuk mengubah suai nilai dalam tatasusunan, seperti menggunakan fungsi array_replace(), kitaran rujukan, dsb. Jangan lupa bahawa apabila mengubah suai nilai dalam tatasusunan, anda mesti memberi perhatian kepada ketepatan logik untuk mengelakkan akibat yang tidak perlu.

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai 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