Rumah >pembangunan bahagian belakang >masalah PHP >Padamkan lajur yang ditentukan daripada tatasusunan dua dimensi php

Padamkan lajur yang ditentukan daripada tatasusunan dua dimensi php

王林
王林asal
2023-05-19 17:06:09959semak imbas

Dalam pembangunan PHP, tatasusunan ialah jenis data yang sangat biasa, dan tatasusunan dua dimensi digunakan secara meluas dalam pelbagai senario perniagaan. Walau bagaimanapun, dalam pembangunan sebenar, kita sering perlu melakukan beberapa operasi pada tatasusunan dua dimensi, seperti memadam baris atau lajur tertentu Bagaimana untuk mencapai ini? Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengendalikan tatasusunan dua dimensi untuk memadamkan lajur yang ditentukan.

  1. Gunakan fungsi unset untuk memadam lajur yang ditentukan

Fungsi unset dalam php boleh digunakan untuk memadam elemen dalam tatasusunan, termasuk tatasusunan biasa, tatasusunan bersekutu dan berbilang dimensi tatasusunan. Sintaksnya adalah seperti berikut:

unset($array[index]);

di mana $array mewakili tatasusunan elemen yang akan dipadamkan dan indeks mewakili subskrip elemen yang akan dipadamkan .

Untuk tatasusunan dua dimensi, kita boleh melintasi keseluruhan tatasusunan melalui gelung bersarang, dan kemudian menggunakan fungsi tidak ditetapkan untuk memadamkan lajur yang ditentukan. Kod sampel adalah seperti berikut:

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

for ($i = 0; $i < count($array); $i++) {
    unset($array[$i][$remove_key]); // 删除指定列
}

print_r($array);
?>

Dalam kod di atas, kami mencipta tatasusunan dua dimensi yang mengandungi 3 elemen, kemudian tentukan lajur untuk dipadamkan sebagai b, gunakan gelung untuk melintasi keseluruhan dua dimensi tatasusunan, dan padam setiap baris secara bergilir-gilir Lajur b. Akhir sekali, cetak tatasusunan dua dimensi yang diproses.

  1. Gunakan fungsi array_map untuk memadamkan lajur yang ditentukan

Selain fungsi yang tidak ditetapkan, PHP juga menyediakan fungsi array_map, yang boleh menggunakan fungsi panggil balik yang ditentukan untuk setiap elemen tatasusunan, dan mengembalikan tatasusunan baharu. Oleh itu, kita boleh menggunakan fungsi array_map bersama-sama dengan fungsi tanpa nama untuk menetapkan nilai lajur yang ditentukan kepada null, dengan itu mencapai kesan pemadaman lajur yang ditentukan. Kod sampel adalah seperti berikut:

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

$array = array_map(function($row) use ($remove_key) {
            unset($row[$remove_key]); // 删除指定列
            return $row;
        }, $array);

print_r($array);
?>

Dalam kod di atas, kami juga mencipta tatasusunan dua dimensi yang mengandungi 3 elemen, kemudian tentukan lajur untuk dipadamkan sebagai b, gunakan fungsi peta_susun untuk melintasi setiap baris dan gunakan fungsi tanpa nama, Nilai lajur yang ditentukan ditetapkan kepada nol, dan tatasusunan dua dimensi yang diproses akhirnya diperolehi.

  1. Gunakan fungsi array_column dan array_diff untuk memadamkan lajur yang ditentukan

Selain daripada dua kaedah di atas, kami juga boleh menggunakan fungsi array_column terbina dalam PHP dan fungsi array_diff untuk memadam lajur yang ditentukan. Fungsi array_column boleh mengekstrak nilai lajur yang ditentukan dalam tatasusunan dua dimensi, dan fungsi array_diff boleh mengira perbezaan berbilang tatasusunan. Oleh itu, kita boleh mula-mula menggunakan fungsi array_column untuk mengekstrak lajur yang ditentukan, dan kemudian menggunakan fungsi array_diff untuk mengira set perbezaan, dengan itu mendapatkan tatasusunan dengan lajur yang ditentukan dipadamkan. Kod sampel adalah seperti berikut:

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

$result = array();

foreach ($array as $row) {
    $result[] = array_diff_key($row, array($remove_key => ''));
}

print_r($result);
?>

Dalam kod di atas, kami juga mencipta tatasusunan dua dimensi yang mengandungi 3 elemen, kemudian tentukan lajur untuk dipadamkan sebagai b, gunakan fungsi array_diff_key dalam gelung untuk mengira set perbezaan, dan Hasilnya ditambah pada tatasusunan baharu, dan tatasusunan dua dimensi yang diproses akhirnya diperolehi.

Ringkasan:

Sama ada anda menggunakan fungsi unset, fungsi array_map atau array_column dan array_diff fungsi, anda boleh memadamkan lajur yang ditentukan dalam PHP. Kaedah yang hendak dipilih bergantung pada senario perniagaan sebenar dan tabiat pengaturcaraan peribadi. Dalam pembangunan sebenar, kita boleh memilih kaedah yang paling sesuai mengikut keperluan untuk meningkatkan kecekapan dan kebolehbacaan kod.

Atas ialah kandungan terperinci Padamkan lajur yang ditentukan daripada tatasusunan dua dimensi 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