Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam tatasusunan berdasarkan kunci dalam php

Bagaimana untuk memadam tatasusunan berdasarkan kunci dalam php

PHPz
PHPzasal
2023-04-23 10:09:34661semak imbas

Dalam PHP, kita selalunya perlu melakukan operasi seperti menambah, memadam, mengubah suai dan menyemak tatasusunan. Antaranya, operasi pemadaman adalah jenis operasi tatasusunan yang biasa, kerana dalam pembangunan sebenar kita akan menghadapi banyak situasi di mana elemen tertentu perlu dipadamkan. Artikel ini terutamanya memperkenalkan cara memadam elemen dalam tatasusunan berdasarkan kunci.

1. fungsi nyahtetap

PHP menyediakan fungsi unset(), yang boleh digunakan untuk memadamkan elemen tertentu dalam tatasusunan. Sintaksnya adalah seperti berikut:

unset($array[key]);

di mana, $array ialah tatasusunan elemen yang akan dipadamkan dan key ialah nama kunci elemen yang akan dipadamkan.

Kod sampel adalah seperti berikut:

// 创建一个关联数组
$arr = array(
    'name' => 'Tom',
    'age' => 18,
    'gender' => 'male'
);

// 删除元素 age
unset($arr['age']);

// 输出结果
print_r($arr);

Hasil output adalah seperti berikut:

Array
(
    [name] => Tom
    [gender] => male
)

Seperti yang dapat dilihat daripada hasil output, elemen age telah berjaya dipadamkan.

2. fungsi array_splice

Selain menggunakan fungsi unset(), anda juga boleh menggunakan fungsi terbina dalam yang lain dalam PHP array_splice() untuk memadamkan elemen dalam tatasusunan. Fungsi ini boleh memadamkan satu atau lebih elemen berturut-turut dalam tatasusunan dan mengembalikan tatasusunan elemen yang dipadamkan. Sintaksnya adalah seperti berikut:

array_splice($array, $offset, $length);

di mana, $array ialah tatasusunan elemen yang akan dipadamkan, $offset ialah kedudukan permulaan elemen yang hendak dipadamkan dan $length ialah nombor elemen yang akan dipadamkan.

Kod sampel adalah seperti berikut:

// 创建一个索引数组
$arr = array(0, 1, 2, 3, 4, 5);

// 删除索引为 2、3、4 的连续 3 个元素
$deleted = array_splice($arr, 2, 3);

// 输出结果
print_r($arr);
print_r($deleted);

Hasil output adalah seperti berikut:

Array
(
    [0] => 0
    [1] => 1
    [5] => 5
)
Array
(
    [0] => 2
    [1] => 3
    [2] => 4
)

Seperti yang dapat dilihat daripada hasil output, elemen 2, 3 dan 4 telah berjaya dipadamkan dan disimpan dalam pembolehubah $deleted.

Perlu diambil perhatian bahawa fungsi array_splice() akan mengubah struktur tatasusunan asal, jadi ia perlu digunakan dengan berhati-hati.

3. Fungsi array_diff_key

Satu lagi kaedah biasa ialah menggunakan fungsi array_diff_key(), yang boleh membandingkan nama kunci dua tatasusunan dan mengembalikan perbezaan nama kunci. Melalui fungsi ini, kita boleh memadamkan elemen yang sepadan dengan satu atau lebih nama kunci dengan mudah.

Kod sampel adalah seperti berikut:

// 创建一个关联数组
$arr = array(
    'name' => 'Tom',
    'age' => 18,
    'gender' => 'male'
);

// 要删除的键名数组
$keys = array('age', 'gender');

// 使用 array_diff_key 函数删除键名对应的元素
$result = array_diff_key($arr, array_flip($keys));

// 输出结果
print_r($result);

Hasil output adalah seperti berikut:

Array
(
    [name] => Tom
)

Seperti yang dapat dilihat daripada hasil output, elemen age dan gender telah berjaya dipadamkan.

Perlu diambil perhatian bahawa fungsi array_diff_key() mengembalikan tatasusunan perbezaan, dan tatasusunan asal tidak akan diubah, jadi hasil pulangan perlu disimpan dalam tatasusunan baharu.

4. Kesimpulan

Dalam PHP, kita boleh menggunakan pelbagai kaedah untuk memadam elemen dalam tatasusunan, antaranya fungsi unset() dan fungsi array_splice() adalah dua yang paling biasa. kaedah yang digunakan. Selain itu, menggunakan fungsi array_diff_key() juga merupakan kaedah yang lebih fleksibel, yang boleh memadamkan elemen dalam tatasusunan berdasarkan nama kunci.

Perlu diambil perhatian bahawa semasa menjalankan operasi tatasusunan, anda mesti berhati-hati untuk tidak memusnahkan struktur tatasusunan untuk mengelakkan situasi yang tidak dijangka.

Atas ialah kandungan terperinci Bagaimana untuk memadam tatasusunan berdasarkan kunci dalam 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