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

Bagaimana untuk memadam beberapa subarray dalam tatasusunan dua dimensi dalam php

Apr 18, 2023 am 10:26 AM

Dalam PHP, kadangkala kita perlu memadamkan beberapa tatasusunan daripada tatasusunan dua dimensi. Keperluan ini agak biasa Sebagai contoh, kita perlu mengabaikan beberapa data tertentu, atau menapis beberapa data yang tidak memenuhi keperluan daripada set data asal. Artikel ini akan memperkenalkan cara menggunakan fungsi terbina dalam PHP dan fungsi tersuai untuk memadam beberapa tatasusunan dalam tatasusunan dua dimensi.

1. Fungsi terbina dalam PHP array_filter() memadamkan beberapa tatasusunan dalam tatasusunan dua dimensi

fungsi terbina dalam PHP array_filter() boleh menapis elemen tertentu dalam tatasusunan dan mengembalikan a tatasusunan baru. Apabila memadamkan beberapa tatasusunan dalam tatasusunan dua dimensi, kita boleh menggunakan fungsi ini untuk mencapainya. Berikut ialah contoh:

$array = [
    ['id' => 1, 'name' => 'Alice', 'gender' => 'female'],
    ['id' => 2, 'name' => 'Bob', 'gender' => 'male'],
    ['id' => 3, 'name' => 'Charlie', 'gender' => 'male'],
    ['id' => 4, 'name' => 'David', 'gender' => 'male']
];

$exclude_ids = [2, 3];

$new_array = array_filter($array, function($item) use ($exclude_ids) {
    return !in_array($item['id'], $exclude_ids);
});

print_r($new_array);
Salin selepas log masuk

Dalam contoh ini, kami mempunyai tatasusunan dua dimensi $array yang mengandungi 4 subarray dan kami mahu memadamkan subarray dengan id 2 dan 3 daripadanya. Kami mentakrifkan tatasusunan $exclude_ids untuk mengandungi nilai id yang perlu dipadamkan. Kemudian kami menggunakan fungsi array_filter() dan hantar ke fungsi penutupan. Fungsi ini menyemak sama ada nilai 'id' dalam subarray berada dalam tatasusunan $exclude_ids dan mengembalikan palsu jika benar, jika tidak, ia mengembalikan benar. Selain itu, kami juga menggunakan pernyataan penggunaan supaya fungsi penutupan boleh mengakses tatasusunan $exclude_ids. Akhirnya, kami mendapat tatasusunan baharu yang mengandungi hanya subarray dengan nilai 'id' selain daripada 2 dan 3.

2. Fungsi tersuai untuk memadam beberapa tatasusunan dalam tatasusunan dua dimensi

Selain menggunakan fungsi terbina dalam, kami juga boleh menulis fungsi kami sendiri untuk memadam beberapa tatasusunan dalam dua- tatasusunan dimensi. Ini membolehkan kawalan yang lebih fleksibel ke atas cara dan syarat pemadaman. Berikut ialah contoh:

function exclude_subarrays($array, $condition) {
    $new_array = [];
    foreach($array as $key => $subarray) {
        $should_exclude = true;
        foreach($condition as $k => $v) {
            if($subarray[$k] !== $v) {
                $should_exclude = false;
                break;
            }
        }
        if(!$should_exclude) {
            $new_array[] = $subarray;
        }
    }
    return $new_array;
}

$array = [
    ['id' => 1, 'name' => 'Alice', 'gender' => 'female'],
    ['id' => 2, 'name' => 'Bob', 'gender' => 'male'],
    ['id' => 3, 'name' => 'Charlie', 'gender' => 'male'],
    ['id' => 4, 'name' => 'David', 'gender' => 'male']
];

$exclude_condition = ['id' => 2, 'gender' => 'male'];

$new_array = exclude_subarrays($array, $exclude_condition);

print_r($new_array);
Salin selepas log masuk

Dalam contoh ini, kami juga mempunyai tatasusunan dua dimensi $array yang mengandungi 4 sub-array dan kami perlu memadam sub-array dengan id 2 dan jantina lelaki . Kami menulis fungsi yang dipanggil exclude_subarrays untuk menyelesaikan tugas ini Fungsi ini menerima dua parameter: tatasusunan asal $array dan tatasusunan bersekutu $syarat yang mengandungi syarat pemadaman. Di dalam fungsi, kami mencipta tatasusunan baharu yang kosong $new_array, dan kemudian menggunakan foreach untuk melintasi semua subarray dalam tatasusunan asal. Untuk setiap subarray, kami mentakrifkan bendera $should_exclude, yang ditetapkan kepada benar apabila dimulakan. Kami juga menggunakan foreach untuk melintasi dan memadam setiap pasangan nilai kunci dalam keadaan $condition. Untuk setiap pasangan nilai kunci, kami menyemak sama ada kunci yang sepadan dalam subarray semasa adalah sama dengan nilai yang diperlukan. Jika sama, ini bermakna subarray ini harus dipadamkan, jadi tetapkan bendera $should_exclude kepada palsu dan lompat keluar dari gelung. Jika tidak, teruskan menyemak pasangan nilai kunci seterusnya. Selepas melengkapkan semakan bagi keseluruhan tatasusunan $condition, jika $should_exclude masih benar, ini bermakna subarray semasa tidak perlu dipadamkan, jadi ia ditambahkan pada tatasusunan $new_array. Akhir sekali, kembalikan tatasusunan baharu.

Ringkasan

Di atas ialah dua cara untuk memadamkan beberapa tatasusunan dalam tatasusunan dua dimensi. Walaupun fungsi terbina dalam array_filter() adalah lebih pendek, fungsi tersuai adalah lebih fleksibel dan mungkin lebih sesuai dalam situasi tertentu. Semasa penggunaan, anda harus memilih secara fleksibel mengikut keadaan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk memadam beberapa subarray dalam tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

Apakah tujuan penyataan yang disediakan dalam PHP? Apakah tujuan penyataan yang disediakan dalam PHP? Mar 20, 2025 pm 04:47 PM

Kenyataan yang disediakan dalam PHP meningkatkan keselamatan pangkalan data dan kecekapan dengan mencegah suntikan SQL dan meningkatkan prestasi pertanyaan melalui kompilasi dan penggunaan semula.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

Artikel ini membincangkan fungsi mysqli_query () dan mysqli_fetch_assoc () dalam PHP untuk interaksi pangkalan data MySQL. Ia menerangkan peranan, perbezaan, dan memberikan contoh praktikal penggunaannya. Hujah utama memberi tumpuan kepada manfaat usin

See all articles