Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Beberapa cara biasa untuk menukar nilai tatasusunan PHP

Beberapa cara biasa untuk menukar nilai tatasusunan PHP

PHPz
PHPzasal
2023-04-12 09:20:52554semak imbas

Tatasusunan PHP ialah jenis data yang sangat biasa dan penting yang digunakan secara meluas dalam pembangunan web dan bidang pengaturcaraan lain. Apabila berurusan dengan struktur data yang kompleks dan logik perniagaan, kita biasanya perlu mengubah suai nilai dalam tatasusunan, dan PHP juga menyediakan pelbagai cara yang fleksibel untuk mencapai matlamat ini.

Di bawah, kami akan memperkenalkan beberapa kaedah biasa untuk menukar nilai tatasusunan PHP, dan menerangkan senario pelaksanaan dan penggunaannya melalui contoh.

  1. Ubah suai nilai elemen tatasusunan secara langsung

Kaedah paling langsung ialah mengakses terus elemen tatasusunan dan kemudian mengubah suai nilainya. Sebagai contoh, kod berikut menukar elemen kedua (iaitu "strawberi") dalam array $fruits kepada "pisang":

$fruits = array("apple", "strawberry", "orange");
$fruits[1] = "banana";
print_r($fruits);

Hasil output ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

Ini Kaedah ini mudah dan langsung, sesuai untuk mengubah suai nilai elemen tertentu, tetapi tidak sesuai untuk senario yang memerlukan operasi pada sejumlah besar elemen. Di samping itu, apabila mengubah suai elemen tatasusunan secara langsung, anda mesti memastikan elemen itu wujud, jika tidak, ralat "mengimbangi tidak ditentukan" akan berlaku.

  1. Ubah suai nilai elemen dengan rujukan

Selain mengubah suai terus nilai elemen tatasusunan, anda juga boleh mengubah suai nilai elemen melalui rujukan. Pendekatan ini mengelakkan ralat "pengimbangan tidak ditentukan" dan berfungsi dengan baik untuk pengubahsuaian kepada nilai elemen tunggal atau berbilang.

Sebagai contoh, kod berikut menukar elemen pertama dan ke-3 dalam $fruits kepada "pear" dan "grapefruit":

$fruits = array("apple", "strawberry", "orange");
$fruit1 =& $fruits[0];
$fruit2 =& $fruits[2];
$fruit1 = "pear";
$fruit2 = "grapefruit";
print_r($fruits);

Hasil output ialah:

Array
(
    [0] => pear
    [1] => strawberry
    [2] => grapefruit
)

Perhatikan bahawa aksara rujukan & mesti ditambahkan di sini, jika tidak $fruit1 dan $fruit2 hanyalah salinan elemen yang sepadan dalam $fruits, dan mengubah suai nilainya tidak akan menjejaskan tatasusunan asal.

  1. Gunakan gelung foreach untuk mengubah suai nilai elemen

Apabila berbilang elemen perlu diubah suai dalam tatasusunan, kita boleh menggunakan gelung foreach untuk melintasi tatasusunan dan mengubah suai elemen nilai tatasusunan. Contohnya, kod berikut menukar semua elemen dalam $fruits kepada makna Inggerisnya:

$fruits = array("苹果", "草莓", "橙子");
$english = array("apple", "strawberry", "orange");
foreach ($fruits as &$fruit) {
    $fruit = $english[array_search($fruit, $fruits)];
}
print_r($fruits);

Outputnya ialah:

Array
(
    [0] => apple
    [1] => strawberry
    [2] => orange
)

Kunci di sini ialah menggunakan rujukan &$fruit Untuk mengubah suai nilai elemen, fungsi array_search mencari nilai bahasa Inggeris yang sepadan dalam tatasusunan asal, dan kemudian memberikannya kepada $fruit.

  1. Gunakan fungsi tatasusunan untuk mengubah suai nilai elemen

PHP mempunyai banyak fungsi tatasusunan terbina dalam yang boleh digunakan untuk melaksanakan pelbagai operasi, termasuk mengubah suai elemen tatasusunan. Contohnya:

  • fungsi peta_susun: menggunakan fungsi panggil balik yang diberikan pada setiap elemen tatasusunan dan mengembalikan tatasusunan baharu.
  • fungsi array_walk: menggunakan fungsi yang ditentukan pengguna untuk setiap elemen tatasusunan.
  • fungsi array_replace: Gantikan nilai nama kunci yang sama dalam tatasusunan sebelumnya dengan nilai tatasusunan kemudian.

Contoh kod berikut menunjukkan cara menggunakan fungsi array_map untuk menukar nama Cina unsur dalam tatasusunan $fruits kepada bahasa Inggeris:

$fruits = array("苹果", "草莓", "橙子");
$english = array("apple", "strawberry", "orange");
$fruits_en = array_map(function($fruit) use ($english) {
    return $english[array_search($fruit, $english)];
}, $fruits);
print_r($fruits_en);

Hasil output ialah:

Array
(
    [0] => apple
    [1] => strawberry
    [2] => orange
)

Fungsi array_map di sini mengambil fungsi tanpa nama sebagai parameter Fungsi ini menerima parameter $fruit, mendapatkan nama Inggeris yang sepadan berdasarkan tatasusunan $english, dan akhirnya mengembalikan nilai elemen dalam tatasusunan baharu. .

Ringkasnya, tatasusunan PHP menyediakan pelbagai kaedah untuk mengubah suai nilai elemen Kita boleh memilih kaedah yang sesuai untuk beroperasi mengikut keperluan dan senario yang berbeza. Penggunaan kaedah ini secara cekap boleh meningkatkan kecekapan dan fleksibiliti pembangunan PHP.

Atas ialah kandungan terperinci Beberapa cara biasa untuk menukar nilai tatasusunan 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