Bagaimana untuk mengalih keluar nilai nol daripada tatasusunan multidimensi dalam php

PHPz
Lepaskan: 2023-04-27 16:20:04
asal
606 orang telah melayarinya

PHP ialah bahasa skrip dinamik popular yang digunakan secara meluas dalam bidang pembangunan web. Dalam PHP, tatasusunan berbilang dimensi ialah struktur data biasa yang terdiri daripada berbilang subarray bersarang. Walau bagaimanapun, apabila menggunakan tatasusunan berbilang dimensi, kami sering menghadapi masalah nilai nol, yang akan menyebabkan masalah tertentu dalam pemprosesan dan penggunaan tatasusunan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengalih keluar nilai nol daripada tatasusunan berbilang dimensi, menjadikan pemprosesan tatasusunan lebih cekap dan mudah.

1. Memahami tatasusunan berbilang dimensi

Dalam PHP, tatasusunan berbilang dimensi ialah tatasusunan yang terdiri daripada berbilang sub-tatasusunan. Setiap subarray juga merupakan tatasusunan dan boleh mengandungi berbilang elemen, yang boleh menjadi jenis data yang berbeza seperti integer, rentetan, dsb. Berikut ialah contoh tatasusunan berbilang dimensi yang mudah:

$array = array(
          array('apple', 'banana', ''),
          array('', 'orange', 'pear'),
          array('grape', '', 'kiwi')
        );
Salin selepas log masuk

Tatasusunan berbilang dimensi ini terdiri daripada 3 sub-tatasusunan, setiap sub-tatasusunan mengandungi 3 elemen. Elemen ini mengandungi rentetan kosong, yang merupakan nilai nol dalam tatasusunan multidimensi.

2. Gunakan fungsi array_filter() untuk mengalih keluar nilai null

Dalam PHP, anda boleh menggunakan fungsi array_filter() untuk mengalih keluar nilai null dalam tatasusunan dengan sangat mudah. Fungsi ini boleh digunakan untuk tatasusunan satu dimensi dan tatasusunan berbilang dimensi, dan boleh menapis elemen dalam tatasusunan berdasarkan fungsi panggil balik yang ditentukan. Berikut ialah contoh mudah untuk mengalih keluar nilai nol dalam tatasusunan satu dimensi:

$array = array('apple', '', 'banana', 'orange', '');
$array = array_filter($array);
print_r($array);
Salin selepas log masuk

Hasil pelaksanaan adalah seperti berikut:

Array
(
    [0] => apple
    [2] => banana
    [3] => orange
)
Salin selepas log masuk

Seperti yang anda lihat, nilai null ​​telah dialih keluar, hanya meninggalkan elemen yang tidak kosong. Contoh ini hanya untuk tatasusunan satu dimensi Jika anda ingin memproses tatasusunan berbilang dimensi, anda perlu menggunakan panggilan rekursif dan menapis sub-tatasusunan. Berikut ialah contoh tatasusunan berbilang dimensi:

$array = array(
          array('apple', 'banana', ''),
          array('', 'orange', 'pear'),
          array('grape', '', 'kiwi')
        );
function filter_array($array) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $array[$key] = filter_array($value);
        } else {
            if ($value === '' || $value === null) {
                unset($array[$key]);
            }
        }
    }
    return $array;
}
$array = filter_array($array);
print_r($array);
Salin selepas log masuk

Hasil pelaksanaan adalah seperti berikut:

Array
(
    [0] => Array
        (
            [0] => apple
            [1] => banana
        )

    [1] => Array
        (
            [1] => orange
            [2] => pear
        )

    [2] => Array
        (
            [0] => grape
            [1] => kiwi
        )
)
Salin selepas log masuk

Seperti yang anda lihat, nilai null ​​telah dialih keluar, hanya meninggalkan bukan -elemen kosong. Contoh ini menggunakan panggilan rekursif dan juga menapis subarray.

3. Ringkasan

Dalam PHP, tatasusunan berbilang dimensi ialah struktur data biasa Semasa penggunaan, anda perlu memberi perhatian kepada pengendalian nilai nol. Menggunakan fungsi array_filter() boleh mengalih keluar nilai nol dalam tatasusunan satu dimensi dengan mudah, tetapi untuk tatasusunan berbilang dimensi, anda perlu menggunakan panggilan rekursif untuk menapis sub-tatasusunan. Mengalih keluar nilai nol dalam tatasusunan berbilang dimensi boleh menjadikan pemprosesan tatasusunan lebih cekap dan lebih mudah, dan juga boleh mengelakkan ralat yang tidak perlu yang disebabkan oleh nilai nol.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai nol daripada tatasusunan multidimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan