Rumah >pembangunan bahagian belakang >masalah PHP >php padam nilai kunci tatasusunan
PHP ialah bahasa pembangunan web yang sangat popular, dan tatasusunan ialah salah satu struktur data yang paling biasa digunakan dalam PHP. Apabila bekerja dengan tatasusunan, kadangkala anda perlu memadamkan satu atau lebih kunci dalam tatasusunan dan menyusun semula serta mengindeks semula kunci yang tinggal. Artikel ini akan memperkenalkan cara memadam nilai kunci tatasusunan dalam PHP.
Fungsi unset() dalam PHP boleh digunakan untuk memadam satu atau lebih pembolehubah, termasuk nilai kunci tatasusunan. Jika anda memadamkan hanya nilai kunci dalam tatasusunan, elemen di mana nilai kunci terletak akan dipadamkan dan nilai kunci elemen lain tidak akan diindeks semula.
Berikut ialah kod sampel:
<?php $fruits = array("apple", "banana", "cherry"); unset($fruits[1]); // 删除键值为 1 的元素(即 banana) print_r($fruits); // 输出: Array ( [0] => apple [2] => cherry ) ?>
Di sini terdapat tiga elemen dalam tatasusunan $fruits dengan nilai kunci masing-masing 0, 1 dan 2. Selepas menggunakan fungsi unset() untuk mengalih keluar elemen dengan nilai kunci 1 (iaitu "pisang"), output hanya mempunyai dua elemen dengan nilai kunci 0 dan 2.
Jika anda ingin memadamkan berbilang nilai utama, anda boleh memisahkannya dengan koma atau meletakkan nilai kunci sebagai nilai ke dalam tatasusunan.
Berikut ialah kod sampel:
<?php $fruits = array("apple", "banana", "cherry", "durian"); unset($fruits[1], $fruits[3]); // 删除键值为 1 和 3 的元素(即 banana 和 durian) print_r($fruits); // 输出: Array ( [0] => apple [2] => cherry ) unset($fruits[0], $fruits[2]); // 删除键值为 0 和 2 的元素(即 apple 和 cherry) print_r($fruits); // 输出: Array ( ) $fruits = array("apple", "banana", "cherry", "durian"); unset($fruits[1], $fruits[3]); // 删除键值为 1 和 3 的元素(即 banana 和 durian) print_r(array_values($fruits)); // 输出: Array ( [0] => apple [1] => cherry ) ?>
Di sini terdapat empat elemen dalam tatasusunan $fruits dengan kekunci 0, 1, 2 dan 3. Selepas menggunakan fungsi unset() untuk memadam elemen dengan nilai kunci masing-masing 1 dan 3, hanya terdapat dua elemen dalam hasil output dengan nilai kunci 0 dan 2.
Jika anda ingin mengindeks semula elemen yang selebihnya, anda boleh menggunakan fungsi array_values(), yang mengembalikan tatasusunan baharu dengan semua nilai kunci dalam susunan.
Fungsi array_splice() dalam PHP boleh digunakan untuk memadam satu atau lebih elemen dalam tatasusunan dan mengindeks semula elemen yang tinggal. Parameter pertama fungsi ini ialah tatasusunan yang akan dikendalikan, parameter kedua ialah kedudukan untuk mula memadam elemen, parameter ketiga ialah bilangan elemen yang akan dipadam, dan parameter keempat ialah elemen baharu pilihan untuk dimasukkan.
Berikut ialah kod sampel:
<?php $fruits = array("apple", "banana", "cherry", "durian"); array_splice($fruits, 1, 2); // 从位置 1 开始删除 2 个元素(即 banana 和 cherry) print_r($fruits); // 输出: Array ( [0] => apple [1] => durian ) ?>
Di sini terdapat empat elemen dalam tatasusunan $fruits dengan kekunci 0, 1, 2 dan 3. Selepas menggunakan fungsi array_splice() untuk mengeluarkan 2 elemen (iaitu "pisang" dan "ceri") bermula dari kedudukan 1, output hanya mempunyai dua elemen dengan nilai kunci 0 dan 1.
Jika anda mahu elemen yang selebihnya diindeks semula, anda boleh menggunakan fungsi array_values() sebelum memadamkan elemen.
Fungsi array_filter() dalam PHP boleh digunakan untuk menapis elemen dalam tatasusunan dan mengembalikan tatasusunan baharu (secara lalai, tatasusunan asal tidak akan diubah suai). Parameter pertama fungsi ini ialah tatasusunan untuk ditapis, dan parameter kedua ialah fungsi panggil balik pilihan yang menguji setiap elemen dan mengembalikan benar atau salah.
Berikut ialah kod sampel:
<?php $fruits = array("apple", "banana", "cherry", "durian"); $fruits = array_filter($fruits, function($value, $key) { return $key != 1 && $key != 2; // 删除键值为 1 和 2 的元素(即 banana 和 cherry) }, ARRAY_FILTER_USE_BOTH); print_r($fruits); // 输出: Array ( [0] => apple [3] => durian ) ?>
Di sini terdapat empat elemen dalam tatasusunan $fruits dengan kekunci 0, 1, 2 dan 3. Selepas menggunakan fungsi array_filter() dan fungsi panggil balik untuk mengalih keluar elemen dengan nilai kunci 1 dan 2, output hanya mempunyai dua elemen dengan nilai kunci 0 dan 3.
Jika anda mahu elemen yang selebihnya diindeks semula, anda boleh menggunakan fungsi array_values() selepas menggunakan fungsi array_filter().
Ringkasan
Di atas ialah tiga cara untuk memadamkan nilai kunci tatasusunan dalam PHP. Memilih kaedah yang sesuai berdasarkan situasi boleh meningkatkan kecekapan dan kebolehbacaan kod anda. Nota: Apabila menggunakan fungsi unset() atau fungsi array_splice(), nilai kunci yang dipadamkan tidak akan wujud lagi dalam tatasusunan, manakala apabila menggunakan fungsi array_filter(), tatasusunan akan diindeks semula.
Atas ialah kandungan terperinci php padam nilai kunci tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!