Rumah  >  Artikel  >  pembangunan bahagian belakang  >  elemen tatasusunan php padam

elemen tatasusunan php padam

WBOY
WBOYasal
2023-05-07 16:16:08628semak imbas

Dalam PHP, tatasusunan ialah jenis data yang sangat biasa digunakan, dan keperluan untuk beroperasi pada tatasusunan juga sangat kerap. Antaranya, memadam elemen tatasusunan adalah operasi biasa Artikel ini akan membincangkan pengetahuan dan kemahiran yang berkaitan untuk memadam elemen tatasusunan dalam PHP.

1 Gunakan fungsi unset() untuk memadamkan elemen tatasusunan

PHP menyediakan fungsi unset() untuk memadamkan elemen dalam tatasusunan. Sebagai contoh, kami mempunyai tatasusunan bernama $arr, dan kami boleh menggunakan fungsi unset() untuk memadam salah satu elemennya:

$arr = array('a', 'b', 'c', 'd');  // 定义数组
unset($arr[1]);  // 删除 $arr[1] 元素

Selepas kod di atas dilaksanakan, elemen 'b' dalam tatasusunan $ arr akan dipadamkan.

Jika anda perlu memadamkan berbilang elemen, kami boleh memasukkan indeks berbilang elemen dalam fungsi unset():

$arr = array('a', 'b', 'c', 'd');  // 定义数组
unset($arr[1], $arr[3]);  // 删除 $arr[1] 和 $arr[3] 元素

Selepas kod di atas dilaksanakan, 'b' dan ' elemen d' akan dialih keluar.

Perlu diambil perhatian bahawa menggunakan fungsi unset() untuk memadamkan elemen tatasusunan hanya menandakan nilai elemen sebagai tidak ditentukan, iaitu elemen itu tidak dialih keluar daripada tatasusunan. Oleh itu, selepas memadamkan elemen, indeks tatasusunan tidak akan disusun semula atau dipindahkan, tetapi kedudukan indeks asal akan dikekalkan Ini juga merupakan perbezaan terbesar daripada fungsi unset().

2. Gunakan fungsi array_splice() untuk memadam elemen tatasusunan

Cara lain untuk memadamkan elemen tatasusunan dalam PHP ialah menggunakan fungsi array_splice(), yang mengalih keluar elemen yang ditentukan daripada tatasusunan , dan mengembalikan tatasusunan baharu yang terdiri daripada elemen yang dialih keluar. Sebagai contoh, kita mempunyai tatasusunan berikut:

$arr = array('a', 'b', 'c', 'd');

Jika kita perlu memadamkan elemen kedua 'b', kita boleh menggunakan kod berikut:

$new_arr = array_splice($arr, 1, 1);

Dalam kod di atas, $arr ialah nilai asal yang kita perlukan untuk beroperasi pada Array, parameter kedua 1 ialah kedudukan indeks elemen yang perlu dipadam, dan parameter ketiga 1 ialah bilangan elemen yang perlu dipadamkan.

Selepas melaksanakan kod di atas, tatasusunan asal $arr akan menjadi ['a', 'c', 'd'] dan tatasusunan baharu $new_arr akan mengandungi elemen 'b' yang dipadam, iaitu , $ new_arr = ['b'].

Perlu diambil perhatian bahawa tidak seperti fungsi unset(), fungsi array_splice() akan menyusun semula indeks elemen yang tinggal untuk mengisi jurang yang ditinggalkan selepas elemen yang dipadamkan. Sebagai contoh, kami memadamkan elemen 'b' dan 'd' dalam tatasusunan $arr, kodnya adalah seperti berikut:

$new_arr = array_splice($arr, 1, 2);

Selepas melaksanakan kod di atas, tatasusunan $arr akan menjadi ['a', 'c'] , dan tatasusunan baharu $new_arr ialah ['b', 'd'].

3. Gunakan fungsi array_diff() untuk memadam elemen tatasusunan

Selain dua kaedah di atas, terdapat kaedah lain dalam PHP untuk menggunakan fungsi array_diff() untuk memadamkan elemen tatasusunan. Fungsi ini boleh digunakan untuk membandingkan dua tatasusunan dan mengembalikan tatasusunan baharu yang terdiri daripada elemen yang terkandung dalam tatasusunan pertama tetapi tidak dalam tatasusunan yang lain. Contohnya:

$arr = array('a', 'b', 'c', 'd');
$remove = array('b', 'd');
$new_arr = array_diff($arr, $remove);

Dalam kod di atas, $arr ialah tatasusunan asal yang perlu kita kendalikan, tatasusunan $remove ialah elemen yang perlu dipadamkan daripada tatasusunan $arr, dan nilai $new_arr terkandung dalam $arr tetapi Elemen tidak termasuk dalam $remove, iaitu, $new_arr = ['a', 'c'].

Perlu diambil perhatian bahawa menggunakan fungsi array_diff() untuk memadamkan elemen tatasusunan tidak secara langsung memadamkan elemen, tetapi menyalin elemen yang memenuhi syarat kepada tatasusunan baharu, jadi tatasusunan asal tidak akan terjejas. Pada masa yang sama, anda juga boleh memadamkan berbilang elemen menggunakan kaedah ini Anda hanya perlu menghantar elemen untuk dipadamkan ke dalam tatasusunan dan menghantarnya ke parameter kedua.

4. Padamkan elemen tatasusunan berbilang dimensi

Kaedah di atas boleh digunakan untuk memadam elemen dalam tatasusunan satu dimensi, tetapi untuk tatasusunan berbilang dimensi, kita perlu menggunakan beberapa teknik khas untuk memadam elemen.

Jika kita ingin memadamkan elemen tertentu dalam tatasusunan berbilang dimensi, kita boleh menggunakan dua gelung untuk melintasi tatasusunan, cari elemen yang perlu dipadamkan dan gunakan fungsi unset() untuk memadamnya , sebagai contoh:

$arr = array(
  array('a', 'b', 'c'),
  array('d', 'e', 'f'),
  array('g', 'h', 'i')
);
$remove_value = 'b';
foreach ($arr as $key1 => &$value1) {
  foreach ($value1 as $key2 => &$value2) {
    if ($value2 === $remove_value) {
      unset($value1[$key2]);
    }
  }
}

Dalam kod di atas, kami merentasi setiap elemen tatasusunan $arr, gunakan pembolehubah $key1 dan $key2 untuk merekod indeks tatasusunan semasa, bandingkan setiap elemen dengan elemen yang perlu dipadamkan, cari elemen yang perlu dipadamkan, dan gunakan fungsi unset () memadamnya.

Perlu diingatkan bahawa untuk dapat memadamkan elemen dalam tatasusunan berbilang dimensi, kita perlu menggunakan hantaran rujukan untuk mengendalikan elemen tatasusunan. Jika anda hanya menggunakan gelung foreach, mengubah suai elemen tatasusunan di dalam gelung akan gagal.

Ringkasan

Memadamkan elemen tatasusunan ialah operasi biasa dalam PHP Artikel ini memperkenalkan pemadaman elemen tatasusunan daripada tiga aspek: fungsi unset(), fungsi array_splice() dan fungsi array_diff(). Kaedah dan teknik, dan menerangkan cara memadam elemen dalam tatasusunan berbilang dimensi melalui contoh tatasusunan berbilang dimensi. Menguasai pengetahuan dan kemahiran ini, kami boleh mengendalikan tatasusunan dengan lebih fleksibel dan meningkatkan kecekapan penulisan kod.

Atas ialah kandungan terperinci elemen tatasusunan php padam. 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