Bagaimana untuk mengalih keluar kunci daripada tatasusunan dalam PHP

PHPz
Lepaskan: 2023-04-18 14:18:15
asal
661 orang telah melayarinya

Dalam PHP, memproses tatasusunan ialah salah satu tugas biasa. Pustaka fungsi PHP yang berkuasa menyediakan pelbagai kaedah untuk menangani tatasusunan. Semasa pembangunan, kadangkala anda perlu menghapuskan kunci tertentu dalam tatasusunan. Artikel ini akan memperkenalkan cara mengalih keluar kunci daripada tatasusunan dalam PHP.

Apakah tatasusunan?

Susun atur ialah struktur data yang digunakan untuk menyimpan jujukan nilai atau unsur dalam satu pembolehubah. Elemen tatasusunan boleh terdiri daripada sebarang jenis data, termasuk nombor, rentetan, objek dan tatasusunan lain. Setiap elemen diakses melalui kunci unik.

Dalam PHP, kunci tatasusunan boleh menjadi integer atau rentetan. Jika kunci adalah integer, tatasusunan dipanggil tatasusunan diindeks, jika tidak ia dipanggil tatasusunan bersekutu.

Berikut ialah contoh tatasusunan PHP yang ringkas:

$fruits = array("apple", "banana", "orange", "kiwi");
Salin selepas log masuk

Tatasusunan ini mempunyai empat elemen, setiap satu dengan kunci (0,1,2,3). Elemen tatasusunan boleh diakses menggunakan kekunci ini:

echo $fruits[0]; // 输出 "apple"
Salin selepas log masuk

Dalam tatasusunan bersekutu, anda boleh menggunakan rentetan sebagai kunci. Berikut ialah contoh tatasusunan bersekutu:

$person = array("姓名" => "张三", "年龄" => 30, "职业" => "程序员");
Salin selepas log masuk

Dalam tatasusunan ini, "nama", "umur" dan "pekerjaan" ialah semua kunci tatasusunan bersekutu. Nilai yang sepadan boleh diakses menggunakan kekunci ini:

echo $person["姓名"]; // 输出 "张三"
Salin selepas log masuk

fungsi unset() dalam PHP

Dalam PHP, anda boleh menggunakan fungsi unset() untuk memadam elemen daripada tatasusunan . Walau bagaimanapun, perlu diingatkan bahawa fungsi ini tidak mengembalikan tatasusunan baru, tetapi menghapuskan elemen dalam tatasusunan asal.

unset($fruits[0]); // 删除数组中的第一个元素
Salin selepas log masuk

Dalam contoh di atas, fungsi unset() digunakan untuk memadamkan elemen pertama array $fruits. Selepas operasi ini, elemen pertama dalam tatasusunan $fruits tidak lagi wujud.

Menghapuskan kunci dalam tatasusunan

Memadamkan elemen tatasusunan boleh memusnahkan struktur dan pengindeksan berangka tatasusunan. Jika anda ingin mengalih keluar elemen daripada tatasusunan dan mengekalkan indeks tatasusunan asal, anda boleh menggunakan fungsi PHP array_splice() untuk mengalih keluar kunci.

Berikut ialah cara untuk memadamkan kunci tertentu dalam tatasusunan bersekutu:

function remove_key($arr, $key) {
    if(array_key_exists($key, $arr)) {
        $keys = array_keys($arr);
        $index = array_search($key, $keys);
        if($index !== false) {
            array_splice($arr, $index, 1);
        }
    }
    return $arr;
}
Salin selepas log masuk

Fungsi array_key_exists() dalam fungsi di atas digunakan untuk menyemak sama ada kunci yang ditentukan wujud. Jika ia wujud, gunakan fungsi array_keys() untuk mengembalikan semua kekunci tatasusunan, dan kemudian gunakan fungsi array_search() untuk mencari kedudukan kunci yang ditentukan dalam tatasusunan kunci.

Akhir sekali, gunakan fungsi array_splice() untuk mengalih keluar kunci yang ditentukan daripada tatasusunan. Fungsi ini digunakan untuk menambah atau mengalih keluar elemen daripada tatasusunan, mengekalkan indeks tatasusunan asal tidak berubah.

Berikut ialah cara memadam kunci tertentu dalam tatasusunan indeks:

function remove_index($arr, $index) {
    if(isset($arr[$index])) {
        array_splice($arr, $index, 1);
    }
    return $arr;
}
Salin selepas log masuk

Fungsi isset() dalam fungsi di atas digunakan untuk menyemak sama ada indeks yang ditentukan wujud. Jika ada, indeks yang ditentukan dialih keluar daripada tatasusunan menggunakan fungsi array_splice(). Berbeza dengan fungsi sebelumnya, fungsi ini tidak perlu mencari kedudukan kunci yang ditentukan dalam tatasusunan kunci, kerana dalam tatasusunan indeks, elemen tatasusunan boleh diakses terus menggunakan indeks.

Contoh

Sekarang, mari lihat cara menggunakan fungsi di atas dalam amalan. Di bawah ialah contoh yang menunjukkan cara menggunakan fungsi ini untuk mengalih keluar kunci yang ditentukan daripada tatasusunan bersekutu dan diindeks.

// 删除指定键的关联数组元素
$person = array("姓名" => "张三", "年龄" => 30, "职业" => "程序员");
$person = remove_key($person, "职业");

print_r($person); // 输出 Array ( [姓名] => 张三 [年龄] => 30 )

// 删除指定键的索引数组元素
$fruits = array("apple", "banana", "orange", "kiwi");
$fruits = remove_index($fruits, 1);

print_r($fruits); // 输出 Array ( [0] => apple [1] => orange [2] => kiwi )
Salin selepas log masuk

Dalam contoh di atas, kami mula-mula mencipta tatasusunan bersekutu $orang dan tatasusunan $buah terindeks. Kemudian, kami menggunakan fungsi remove_key() untuk memadamkan elemen "occupation" dalam tatasusunan $person, dan menggunakan fungsi remove_index() untuk memadamkan elemen "banana" dengan indeks 1 dalam tatasusunan $fruits.

Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan yang diubah suai.

Kesimpulan

Dalam artikel ini, kami mempelajari cara mengalih keluar kunci daripada tatasusunan dalam PHP, mengekalkan indeks tatasusunan asal. Elemen tatasusunan boleh dipadamkan menggunakan fungsi unset(), tetapi kaedah ini mungkin memusnahkan struktur dan pengindeksan berangka tatasusunan.

Jika anda ingin mengalih keluar elemen daripada tatasusunan dan mengekalkan indeks tatasusunan asal, anda boleh menggunakan fungsi PHP array_splice() untuk mengalih keluar kunci. Pada masa yang sama, kami menyediakan dua fungsi remove_key() dan remove_index() untuk memadamkan kunci yang ditentukan dalam tatasusunan bersekutu dan tatasusunan indeks.

Akhir sekali, berhati-hati apabila menggunakan fungsi tatasusunan PHP untuk mengelakkan pengubahsuaian yang tidak dapat diramalkan pada tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar kunci daripada 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