Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php tatasusunan dua dimensi padam

php tatasusunan dua dimensi padam

WBOY
WBOYasal
2023-05-23 09:40:36471semak imbas

Dalam PHP, tatasusunan dua dimensi sering digunakan untuk menyimpan data jadual atau menyimpan data berkaitan dalam bentuk pasangan nilai kunci. Tetapi kadangkala kita perlu memadamkan data tertentu daripada tatasusunan dua dimensi, jadi artikel ini akan memperkenalkan pelbagai kaedah untuk memadam data tatasusunan dua dimensi.

  1. fungsi array_splice()

fungsi array_splice() boleh memadamkan sekeping data tertentu daripada tatasusunan dan mengembalikan elemen yang dipadamkan. Penggunaannya adalah seperti berikut:

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

Antaranya, parameter $input ialah tatasusunan yang perlu dikendalikan parameter $offset ialah kedudukan indeks untuk mula memadamkan parameter $length ialah bilangan elemen; untuk dipadamkan; parameter $replacement boleh Digunakan untuk menggantikan elemen yang dipadam. Jika parameter $length tidak ditentukan, elemen yang dipadam akan bermula pada kedudukan $offset dan pergi ke penghujung tatasusunan. Jika parameter $replacement tidak ditentukan, tatasusunan elemen yang dipadam dikembalikan.

Apabila memadamkan elemen dalam tatasusunan dua dimensi, kita perlu menentukan kedudukan dan kuantiti untuk dipadam, jadi kita boleh menggunakan kod berikut:

$array = array(
    array('id' => 1, 'name' => 'A'),
    array('id' => 2, 'name' => 'B'),
    array('id' => 3, 'name' => 'C'),
    array('id' => 4, 'name' => 'D')
);
$index = 1; //要删除的索引位置
$len = 1; //要删除的元素个数
array_splice($array, $index, $len);

Selepas melaksanakan kod di atas, array $array akan Diubah suai kepada:

[
    ['id' => 1, 'name' => 'A'],
    ['id' => 3, 'name' => 'C'],
    ['id' => 4, 'name' => 'D']
]
  1. fungsi unset()

fungsi unset() boleh digunakan untuk memadam elemen yang sepadan dengan nama kunci yang ditentukan dalam tatasusunan :

unset($array[$key]);

Apabila memadamkan elemen dalam tatasusunan dua dimensi, kita perlu menentukan nama kunci yang hendak dipadamkan dan tatasusunan di mana ia terletak. Sebagai contoh, padam rekod dengan id 2 dalam tatasusunan berikut:

$array = array(
    array('id' => 1, 'name' => 'A'),
    array('id' => 2, 'name' => 'B'),
    array('id' => 3, 'name' => 'C'),
    array('id' => 4, 'name' => 'D')
);
$key = null;
foreach ($array as $k => $v) {
    if ($v['id'] == 2) {
        $key = $k; //找到了要删除的键名
        break;
    }
}
if ($key !== null) {
    unset($array[$key]);
}

Selepas melaksanakan kod di atas, tatasusunan $array akan diubah suai kepada:

[
    ['id' => 1, 'name' => 'A'],
    ['id' => 3, 'name' => 'C'],
    ['id' => 4, 'name' => 'D']
]
  1. fungsi array_filter()
array_filter() boleh digunakan untuk menapis elemen dalam tatasusunan, iaitu, untuk memadam elemen dalam tatasusunan yang tidak memenuhi syarat. Apabila parameter kedua tidak diluluskan, elemen dengan nilai palsu dipadamkan secara lalai.

Apabila memadamkan elemen dalam tatasusunan dua dimensi, kita perlu menggunakan fungsi panggil balik untuk melaksanakan pertimbangan dan penapisan. Contohnya, padamkan rekod dengan id 2 dalam tatasusunan berikut:

$array = array(
    array('id' => 1, 'name' => 'A'),
    array('id' => 2, 'name' => 'B'),
    array('id' => 3, 'name' => 'C'),
    array('id' => 4, 'name' => 'D')
);
$array = array_filter($array, function($v) {
    return $v['id'] != 2; //返回id不等于2的记录
});

Selepas melaksanakan kod di atas, tatasusunan $array akan diubah suai kepada:

[
    ['id' => 1, 'name' => 'A'],
    ['id' => 3, 'name' => 'C'],
    ['id' => 4, 'name' => 'D']
]

Ringkasan

Artikel ini Memperkenalkan pelbagai kaedah untuk memadam data tatasusunan dua dimensi dalam PHP, termasuk fungsi array_splice(), fungsi unset() dan fungsi array_filter(). Kaedah yang berbeza boleh dipilih mengikut keperluan yang berbeza, dan kaedah pelaksanaan khusus juga boleh dioptimumkan dan diperbaiki mengikut keadaan sebenar. Sudah tentu, apabila menggunakan sebarang kaedah, pastikan anda memberi perhatian kepada nama kunci dan kedudukan indeks tatasusunan untuk mengelakkan ralat yang tidak perlu.

Atas ialah kandungan terperinci php tatasusunan dua dimensi 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