Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP mengalih keluar nilai nol daripada tatasusunan dua dimensi

PHP mengalih keluar nilai nol daripada tatasusunan dua dimensi

王林
王林asal
2023-05-07 10:52:07680semak imbas

Dalam pembangunan PHP, tatasusunan selalunya perlu diproses dan mengalih keluar nilai nol dalam tatasusunan ialah keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk mengalih keluar nilai nol dalam tatasusunan dua dimensi.

Pertama sekali, kita perlu memahami konsep tatasusunan dua dimensi. Tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada set tatasusunan Setiap tatasusunan juga dipanggil tatasusunan satu dimensi Setiap tatasusunan satu dimensi menyimpan berbilang elemen secara dalaman. Dalam PHP, kita boleh menggunakan kaedah berikut untuk mentakrifkan tatasusunan dua dimensi:

$array = array(
    array("apple", "banana", "", "orange"),
    array("pear", "", "watermelon", "pineapple"),
    array("grape", "lemon", "mango", ""),
);

Kod di atas mentakrifkan tatasusunan dua dimensi yang mengandungi tiga tatasusunan satu dimensi Setiap tatasusunan satu dimensi menyimpan beberapa elemen, yang mungkin mengandungi nilai nol. Kini kita perlu mengalih keluar semua nilai nol dalam tatasusunan dua dimensi ini. Operasi khusus adalah seperti berikut.

  1. Gunakan gelung foreach untuk merentasi tatasusunan dua dimensi

Kita boleh menggunakan gelung foreach untuk melintasi tatasusunan dua dimensi dan mengeluarkan setiap tatasusunan satu dimensi untuk operasi. Kodnya adalah seperti berikut:

foreach($array as $k=>$v){
    //操作每个一维数组
}

Dalam kod di atas, $array mewakili tatasusunan dua dimensi yang akan dilalui, $k mewakili subskrip tatasusunan satu dimensi yang sedang dilalui dan $v mewakili satu tatasusunan -dimensi sedang dilalui.

  1. Gunakan fungsi array_filter untuk mengalih keluar nilai nol dalam tatasusunan satu dimensi

Kita boleh menggunakan fungsi array_filter untuk mengalih keluar nilai nol dalam tatasusunan satu dimensi. Fungsi array_filter mengembalikan tatasusunan baharu dengan semua nilai nol dalam tatasusunan asal dialih keluar. Kodnya adalah seperti berikut:

$newArr = array_filter($v);

Dalam kod di atas, $v mewakili tatasusunan satu dimensi yang sedang dilalui dan $newArr mewakili tatasusunan baharu selepas mengalih keluar nilai nol.

  1. Tetapkan tatasusunan baharu kepada kedudukan yang sepadan dalam tatasusunan asal

Kita perlu menetapkan tatasusunan baharu selepas mengalih keluar nilai nol ke kedudukan yang sepadan dalam tatasusunan asal untuk mencapai Alih keluar nilai nol daripada tatasusunan dua dimensi. Kodnya adalah seperti berikut:

$array[$k] = $newArr;

Dalam kod di atas, $k mewakili subskrip tatasusunan satu dimensi yang sedang dilalui, $newArr mewakili tatasusunan baharu selepas mengalih keluar nilai nol, $array[$k] mewakili tatasusunan dua dimensi asal Tatasusunan satu dimensi kedudukan sepadan dalam.

  1. Kod lengkap

Ringkasnya, kita boleh menulis kod lengkap seperti berikut:

$array = array(
    array("apple", "banana", "", "orange"),
    array("pear", "", "watermelon", "pineapple"),
    array("grape", "lemon", "mango", ""),
);

foreach($array as $k=>$v){
    //去除一维数组中的空值
    $newArr = array_filter($v);
    //将新数组赋值给原数组中的对应位置
    $array[$k] = $newArr;
}

Kod di atas akan mengalih keluar tatasusunan dua dimensi nilai NULL dan simpan hasilnya dalam tatasusunan asal. Keputusan yang dijalankan adalah seperti berikut:

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

    [1] => Array
        (
            [0] => pear
            [1] => watermelon
            [2] => pineapple
        )

    [2] => Array
        (
            [0] => grape
            [1] => lemon
            [2] => mango
        )

)

Di atas ialah kaedah mengalih keluar nilai null​​dalam tatasusunan dua dimensi yang diperkenalkan dalam artikel ini.

Atas ialah kandungan terperinci PHP mengalih keluar nilai nol daripada 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