Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam subarray dalam tatasusunan dua dimensi dalam php

Bagaimana untuk memadam subarray dalam tatasusunan dua dimensi dalam php

PHPz
PHPzasal
2023-04-23 17:49:17760semak imbas

Dalam pengaturcaraan PHP, tatasusunan sering digunakan. Tatasusunan ialah koleksi nilai tersusun, di mana setiap nilai mempunyai kunci unik. Tatasusunan dua dimensi bermaksud bahawa nilai dalam tatasusunan juga merupakan tatasusunan, iaitu unsur-unsur dalam tatasusunan juga tatasusunan. Apabila berurusan dengan tatasusunan dua dimensi kita selalunya perlu memadam elemen tatasusunan tertentu dalam tatasusunan. Seterusnya, mari belajar cara memadamkan elemen tatasusunan dalam tatasusunan dua dimensi dalam PHP.

  1. Padamkan elemen tatasusunan dengan nama kunci yang ditentukan

Untuk memadamkan elemen tatasusunan dengan nama kunci yang ditentukan dalam tatasusunan dua dimensi, anda boleh menggunakan unset( ) fungsi dalam PHP. Fungsi ini menerima satu atau lebih pembolehubah sebagai parameter dan memadamkan nilai pembolehubah ini daripada memori. Apabila memadamkan elemen tatasusunan, anda boleh menggunakan nama kunci tatasusunan sebagai parameter. Berikut ialah contoh:

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
unset($arr[1]);

Dalam contoh ini, kita akan memadamkan elemen tatasusunan dengan kunci 1 dalam tatasusunan $arr. Selepas melaksanakan unset($arr[1]), nilai $arr menjadi:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]

Apabila memadamkan elemen dalam tatasusunan melalui fungsi unset(), anda perlu memberi perhatian kepada perkara berikut:

  • Memadamkan elemen tatasusunan tidak mempunyai nilai pulangan Fungsi unset() hanya memadamkan nilai pembolehubah yang sepadan.
  • Jika anda ingin memadamkan berbilang elemen tatasusunan, anda boleh menggunakan pernyataan fungsi unset() untuk memadamkan berbilang pembolehubah, yang boleh mengurangkan masa pelaksanaan program dan penggunaan prestasi.
  • Jika nama kunci di hadapan elemen tatasusunan dipadamkan, nama kunci berikutnya tidak akan disusun semula. Dalam erti kata lain, jika tatasusunan mempunyai beberapa nama kunci integer berturut-turut, memadamkan nama kunci di tengah tidak akan mengubah nama kunci elemen lain.
  1. Gunakan fungsi array_splice() untuk memadam elemen tatasusunan

PHP menyediakan fungsi array_splice() untuk memadamkan elemen tatasusunan dua dimensi. Fungsi array_splice() digunakan untuk memasukkan, memadam dan menggantikan elemen dalam tatasusunan. Sintaks asas ialah:

array_splice(array,start,length,array)
  • tatasusunan: diperlukan. Tatasusunan asal untuk beroperasi.
  • mula: diperlukan. Menentukan kedudukan untuk memadam elemen.
  • panjang: pilihan. Menentukan bilangan elemen untuk dipadamkan. Jika diabaikan, semua elemen bermula pada kedudukan mula hingga akhir tatasusunan akan dialih keluar.
  • tatasusunan: pilihan. Elemen yang dimasukkan ke dalam tatasusunan pada permulaan kedudukan.

Berikut ialah contoh:

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
array_splice($arr, 1, 1);

Dalam contoh ini, kita akan memadamkan elemen tatasusunan dengan indeks 1 dalam tatasusunan $arr. Selepas melaksanakan array_splice($arr, 1, 1), nilai $arr menjadi:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]

Apabila memadamkan elemen tatasusunan dalam tatasusunan dua dimensi melalui fungsi array_splice(), anda perlu memberi perhatian ke perkara berikut:

  • Apabila memadamkan elemen, kedudukan pemadaman dan kuantiti pemadaman mesti ditentukan. Jika parameter panjang tidak diluluskan, semua elemen dari kedudukan yang ditentukan ke penghujung tatasusunan akan dipadamkan secara lalai.
  • Selepas memadamkan elemen, tatasusunan asal mungkin ditukar, jadi gunakannya dengan berhati-hati. Jika elemen yang ingin anda padamkan tidak wujud, tiada tindakan akan dilakukan dan tiada ralat akan dilemparkan.
  • Apabila memadamkan elemen, indeks akan disusun semula Anda boleh mengisih tatasusunan dahulu dan kemudian memadamkannya untuk memastikan tatasusunan yang dipadamkan masih teratur.
  1. Gunakan fungsi array_diff() untuk memadam elemen tatasusunan

Fungsi array_diff() juga disediakan dalam PHP untuk memadamkan elemen tatasusunan yang ditentukan dalam dua- tatasusunan dimensi. Fungsi array_diff() digunakan untuk membandingkan perbezaan antara dua atau lebih tatasusunan dan mengembalikan perbezaan antara dua tatasusunan. Sintaks asas ialah:

array_diff(array1,array2,array3...)
  • tatasusunan1: diperlukan. Tatasusunan pertama untuk dibandingkan.
  • tatasusunan2: diperlukan. Tatasusunan kedua untuk dibandingkan.
  • tatasusunan3...: Pilihan. Tatasusunan lain yang perlu dibandingkan.

Berikut ialah contoh:

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
$remove = [
    ['id' => 2,'name' => '李四']
];
$result = array_diff($arr, $remove);

Dalam contoh ini, kita akan memadamkan elemen tatasusunan yang sama dalam tatasusunan $arr dan tatasusunan $alih keluar, laksanakan array_diff($ arr , $remove), nilai tatasusunan $result menjadi:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]

Apabila memadamkan elemen dalam tatasusunan dua dimensi melalui fungsi array_diff(), anda perlu memberi perhatian kepada perkara berikut:

  • Fungsi array_diff() akan mengembalikan tatasusunan baharu perbezaan antara dua tatasusunan Hanya elemen berbeza dalam dua tatasusunan akan dikekalkan dalam tatasusunan baharu, dan elemen yang sama akan dipadamkan . Fungsi
  • array_diff() tidak boleh membandingkan elemen mengikut nilai dan hanya boleh memadankan dengan nama kunci Oleh itu, apabila menggunakannya, anda perlu memastikan bahawa nama kunci tatasusunan adalah betul.
  • Jika anda perlu membandingkan perbezaan dalam berbilang tatasusunan, anda boleh menghantar berbilang tatasusunan kepada fungsi array_diff() dan melaksanakan operasi yang sepadan masing-masing.

Ringkasan

Terdapat banyak cara untuk memadamkan elemen tatasusunan dalam tatasusunan dua dimensi dalam PHP Kita boleh memilih penyelesaian yang paling sesuai untuk kita. Apabila menggunakan fungsi unset(), fungsi array_splice() dan fungsi array_diff() untuk memadamkan elemen tatasusunan, anda perlu memberi perhatian kepada perbezaan antara fungsi dan operasi yang berbeza, serta isu seperti operasi tatasusunan dan perubahan pesanan. Apabila menulis kod PHP, adalah disyorkan untuk memilih kaedah yang sesuai untuk memadam elemen tatasusunan dua dimensi berdasarkan senario penggunaan tertentu.

Atas ialah kandungan terperinci Bagaimana untuk memadam subarray dalam tatasusunan dua dimensi 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