Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam elemen tatasusunan dua dimensi dalam php

Bagaimana untuk memadam elemen tatasusunan dua dimensi dalam php

PHPz
PHPzasal
2023-04-26 10:28:53990semak imbas

Dalam PHP, tatasusunan ialah jenis data yang sangat biasa. Semasa pembangunan, kita selalunya perlu menambah, mengemas kini atau memadam elemen tatasusunan. Antaranya, memadam elemen tatasusunan adalah salah satu operasi biasa. Walau bagaimanapun, anda mungkin menghadapi beberapa masalah apabila memadamkan elemen tatasusunan dua dimensi. Artikel ini akan memperkenalkan cara berbeza untuk memadam elemen tatasusunan dua dimensi dalam PHP.

1. Gunakan fungsi unset() untuk memadamkan elemen tatasusunan dua dimensi

Dalam PHP, fungsi unset() boleh digunakan untuk memadamkan pembolehubah atau elemen tatasusunan. Untuk tatasusunan dua dimensi, kita boleh menggunakan fungsi unset() untuk memadamkan elemen yang ditentukan. Berikut ialah contoh kod:

<?php

// 定义一个二维数组
$users = array(
    array(&#39;name&#39; => 'Tom',  'age' => 12),
    array('name' => 'Jack', 'age' => 20),
    array('name' => 'John', 'age' => 30)
);

// 删除 $users[1] 元素
unset($users[1]);

// 输出删除后的数组
print_r($users);   // 输出:Array ( [0] => Array ( [name] => Tom [age] => 12 ) [2] => Array ( [name] => John [age] => 30 ) )

?>

Dalam kod di atas, kami menggunakan unset($users[1]) untuk memadamkan elemen kedua dalam tatasusunan $users. Perlu diingatkan bahawa fungsi unset() tidak menyusun semula tatasusunan, jadi nilai kunci asal masih akan dikekalkan dalam tatasusunan yang dipadamkan. Dalam contoh ini, tatasusunan yang dipadam masih mengandungi kunci asal 0 dan 2.

2. Gunakan fungsi array_splice() untuk memadamkan elemen tatasusunan dua dimensi

Fungsi array_splice() dalam PHP boleh digunakan untuk memadamkan elemen daripada tatasusunan dan mengembalikan elemen yang dipadamkan. Sintaksnya adalah seperti berikut:

array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement ]] )

Antaranya, $input ialah tatasusunan yang akan dikendalikan, $offset ialah kedudukan permulaan elemen yang hendak dipadam, $length ialah bilangan elemen yang akan dipadam, dan $replacement adalah pilihan Elemen yang akan dimasukkan. Nilai pulangan ialah tatasusunan elemen yang dipadam. Berikut ialah contoh menggunakan fungsi array_splice() untuk memadam elemen tatasusunan dua dimensi:

<?php

// 定义一个二维数组
$users = array(
    array(&#39;name&#39; => 'Tom',  'age' => 12),
    array('name' => 'Jack', 'age' => 20),
    array('name' => 'John', 'age' => 30)
);

// 删除 $users[1] 元素
$deleted_elements = array_splice($users, 1, 1);

// 输出删除后的数组和被删除的元素
print_r($users);              // 输出:Array ( [0] => Array ( [name] => Tom [age] => 12 ) [1] => Array ( [name] => John [age] => 30 ) )
print_r($deleted_elements);   // 输出:Array ( [0] => Array ( [name] => Jack [age] => 20 ) )

?>

Dalam contoh di atas, kami menggunakan array_splice($users, 1, 1) untuk memadam elemen pertama dalam tatasusunan $users. Nilai pulangan fungsi ialah tatasusunan elemen yang dipadam. Perlu diingatkan bahawa fungsi array_splice() menyusun semula tatasusunan, jadi tatasusunan yang dipadamkan tidak mengandungi nilai kunci yang dipadamkan.

3. Gunakan fungsi array_filter() untuk memadamkan elemen tatasusunan dua dimensi

Fungsi array_filter() dalam PHP boleh digunakan untuk menapis elemen dalam tatasusunan. Kita boleh menggunakan fungsi ini untuk memadam elemen dalam tatasusunan dua dimensi. Berikut ialah kod sampel:

<?php

// 定义一个二维数组
$users = array(
    array(&#39;name&#39; => 'Tom',  'age' => 12),
    array('name' => 'Jack', 'age' => 20),
    array('name' => 'John', 'age' => 30)
);

// 删除 $users[1] 元素
$users = array_filter($users, function($k) { return ($k != 1); }, ARRAY_FILTER_USE_KEY);

// 输出删除后的数组
print_r($users);       // 输出:Array ( [0] => Array ( [name] => Tom [age] => 12 ) [2] => Array ( [name] => John [age] => 30 ) )

?>

Dalam contoh di atas, kami telah menggunakan fungsi array_filter() untuk mengalih keluar elemen kedua dalam tatasusunan $users. Kami menghantar fungsi panggil balik sebagai parameter kedua kepada fungsi array_filter(). Fungsi panggil balik digunakan untuk menentukan sama ada kunci itu akan dikekalkan. Bendera ARRAY_FILTER_USE_KEY digunakan untuk memberitahu fungsi panggil balik bahawa ia memerlukan nama kunci dan bukannya nilai kunci sebagai parameter.

Ringkasan

Dalam PHP, kita boleh menggunakan fungsi unset(), fungsi array_splice() atau fungsi array_filter() untuk memadamkan elemen dalam tatasusunan dua dimensi. Elemen tertentu boleh dialih keluar dengan mudah menggunakan fungsi unet() dan fungsi array_splice(), manakala elemen boleh dialih keluar berdasarkan syarat yang ditentukan menggunakan fungsi array_filter(). Kaedah yang anda pilih bergantung pada keperluan pembangunan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk memadam elemen 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