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

php pemadaman tatasusunan dua dimensi

王林
王林asal
2023-05-23 12:05:07595semak imbas

Dalam PHP, memadam tatasusunan dua dimensi biasanya memerlukan penggunaan gelung dan pernyataan bersyarat. Dalam pengaturcaraan sebenar, kita biasanya menghadapi dua situasi berikut di mana kita perlu memadam tatasusunan dua dimensi:

  1. Padam elemen yang ditentukan: anda perlu mencari subarray di mana elemen yang hendak dipadamkan terletak , dan keluarkannya daripada subarray Padam elemen yang ditentukan.
  2. Padamkan keseluruhan subarray: Anda perlu mencari tatasusunan induk yang mengandungi subarray yang ingin anda padamkan dan padamkan subarray.

Di bawah ini kami akan memperkenalkan kaedah pelaksanaan khusus bagi kedua-dua jenis tugasan ini.

Kaedah 1: Padamkan elemen yang ditentukan

Untuk memadamkan elemen yang ditentukan, kita perlu menggelungkan semua sub-tatasusunan, mencari sub-tatasusunan yang mengandungi elemen sasaran, dan mengeluarkannya daripada sub-array padam. Berikut ialah contoh kod untuk melaksanakan proses ini:

// 定义一个二维数组
$arr = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>20),
    array('id'=>2, 'name'=>'Jack', 'age'=>25),
    array('id'=>3, 'name'=>'Mary', 'age'=>30)
);

$target_key = "name"; // 要删除的元素名称
$target_value = "Jack"; // 要删除的元素值

// 遍历所有子数组
foreach($arr as $key=>$value){
    // 判断该子数组是否包含目标元素
    if(array_key_exists($target_key, $value) && $value[$target_key] == $target_value){
        // 如果找到了目标元素,就从该子数组中删除之
        unset($arr[$key][$target_key]);
    }
}

// 打印删除后的数组
print_r($arr);

Selepas menjalankan kod, outputnya ialah:

Array
(
    [0] => Array
        (
            [id] => 1
            [age] => 20
        )

    [1] => Array
        (
            [id] => 2
            [name] => Jack
            [age] => 25
        )

    [2] => Array
        (
            [id] => 3
            [name] => Mary
            [age] => 30
        )

)

Seperti yang anda lihat, kod itu berjaya menukar subarray bernama "Jack" kepada Elemen "nama" dialih keluar.

Kaedah 2: Padamkan keseluruhan subarray

Dalam pengaturcaraan sebenar, kita mungkin menghadapi situasi di mana kita perlu memadamkan keseluruhan subarray. Sebagai contoh, apabila memproses keputusan pertanyaan pangkalan data, kita perlu memadamkan rekod tidak sah daripada set hasil. Berikut ialah contoh kod yang melaksanakan proses ini:

// 定义一个二维数组
$arr = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>20),
    array('id'=>2, 'name'=>'Jack', 'age'=>25),
    array('id'=>3, 'name'=>'Mary', 'age'=>30)
);

$target_key = "id"; // 要删除的子数组中包含的元素名称
$target_value = 2; // 要删除的子数组中包含的元素值

// 遍历所有子数组
foreach($arr as $key=>$value){
    // 判断该子数组是否包含目标元素
    if(array_key_exists($target_key, $value) && $value[$target_key] == $target_value){
        // 如果找到了目标元素,就将整个子数组删除之
        unset($arr[$key]);
    }
}

// 打印删除后的数组
print_r($arr);

Selepas menjalankan kod, outputnya ialah:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Tom
            [age] => 20
        )

    [2] => Array
        (
            [id] => 3
            [name] => Mary
            [age] => 30
        )

)

Seperti yang anda lihat, kod itu berjaya mengalih keluar sub-array kedua daripada tatasusunan.

Ringkasan:

Dalam PHP, memadam tatasusunan dua dimensi biasanya memerlukan penggunaan gelung dan pernyataan bersyarat. Untuk memadamkan elemen yang ditentukan, kita perlu mencari subarray yang mengandungi elemen sasaran dan memadamkannya daripada subarray; untuk memadam keseluruhan subarray, kita perlu mencari tatasusunan induk yang mengandungi subarray sasaran dan memadamkan subarray. Selepas menguasai kaedah asas ini, kami boleh mengendalikan dan mengurus tatasusunan dua dimensi dengan mudah.

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