Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menanyakan tatasusunan tiga dimensi dalam php

Bagaimana untuk menanyakan tatasusunan tiga dimensi dalam php

PHPz
PHPzasal
2023-04-25 09:06:22723semak imbas

Dalam pembangunan PHP, adalah perkara biasa untuk menggunakan tatasusunan tiga dimensi untuk menyimpan dan memproses data. Oleh kerana struktur kompleks elemen tatasusunan, kaedah menanyakan tatasusunan tiga dimensi juga agak rumit. Walau bagaimanapun, selagi anda menguasai beberapa kemahiran asas, anda boleh melintasi dan menanya tatasusunan tiga dimensi dengan mudah.

Artikel ini akan memperkenalkan cara menggunakan PHP untuk menanyakan tatasusunan tiga dimensi, membolehkan anda memproses data tatasusunan dengan lebih mudah.

Apakah tatasusunan tiga dimensi?

Dalam PHP, tatasusunan boleh berbilang dimensi, seperti tatasusunan dua dimensi, tatasusunan tiga dimensi, dsb. Tatasusunan tiga dimensi boleh dilihat sebagai tatasusunan yang terdiri daripada tatasusunan berbilang dua dimensi, di mana setiap tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada tatasusunan berbilang satu dimensi. Anda boleh menggunakan kod berikut untuk mentakrif tatasusunan tiga dimensi:

$threeDimensionalArray = array(
    array(
        array(1, 2, 3),
        array(4, 5, 6),
        array(7, 8, 9),
    ),
    array(
        array(10, 11, 12),
        array(13, 14, 15),
        array(16, 17, 18),
    ),
);

Dalam kod di atas, kami mentakrifkan tatasusunan tiga dimensi bernama $threeDimensionalArray. Tatasusunan terdiri daripada 2 tatasusunan dua dimensi, dan setiap tatasusunan dua dimensi terdiri daripada tiga tatasusunan satu dimensi. Setiap tatasusunan satu dimensi mengandungi 3 elemen.

Bagaimana untuk melintasi tatasusunan tiga dimensi?

Terdapat dua cara untuk merentasi tatasusunan tiga dimensi, iaitu untuk gelung dan gelung foreach. Di bawah ini kami memperkenalkan kedua-dua kaedah ini masing-masing.

Gunakan gelung for untuk melintasi tatasusunan tiga dimensi:

for ($i = 0; $i < count($threeDimensionalArray); $i++) {
    for ($j = 0; $j < count($threeDimensionalArray[$i]); $j++) {
        for ($k = 0; $k < count($threeDimensionalArray[$i][$j]); $k++) {
            echo $threeDimensionalArray[$i][$j][$k];
        }
    }
}

Dalam kod di atas, kami menggunakan tiga gelung untuk bersarang untuk melintasi tatasusunan tiga dimensi $threeDimensionalArray.

Gunakan gelung foreach untuk melintasi tatasusunan tiga dimensi:

foreach ($threeDimensionalArray as $twoDimensionalArray) {
    foreach ($twoDimensionalArray as $oneDimensionalArray) {
        foreach ($oneDimensionalArray as $value) {
            echo $value;
        }
    }
}

Dalam kod di atas, kami menggunakan tiga gelung foreach bersarang untuk melintasi tatasusunan tiga dimensi $threeDimensionalArray.

Bagaimana untuk menanyakan tatasusunan tiga dimensi?

Mari kami memperkenalkan beberapa cara berbeza untuk menanyakan tatasusunan tiga dimensi.

Gunakan indeks untuk mengakses elemen secara terus:

Jika anda mengetahui kedudukan tepat elemen yang diingini dalam tatasusunan tiga dimensi, anda boleh menggunakan indeks untuk mengakses elemen secara terus, seperti ini:

echo $threeDimensionalArray[1][2][1]; // 输出 17

Dalam contoh di atas, kami mengakses elemen kedua tatasusunan satu dimensi ketiga tatasusunan dua dimensi kedua dalam tatasusunan $threeDimensionalArray.

Gunakan gelung foreach untuk merentasi dan menentukan elemen:

Anda boleh menggunakan gelung foreach untuk melintasi tatasusunan tiga dimensi dan menentukan sama ada elemen memenuhi syarat tertentu melalui pernyataan if.

foreach ($threeDimensionalArray as $twoDimensionalArray) {
    foreach ($twoDimensionalArray as $oneDimensionalArray) {
        foreach ($oneDimensionalArray as $value) {
            if ($value == 6) {
                echo "Found!";
                break 3; // 结束所有循环
            }
        }
    }
}

Dalam kod di atas, kami menggunakan tiga gelung foreach untuk melintasi tatasusunan tiga dimensi $threeDimensionalArray dan menggunakan pernyataan if untuk mencari elemen 6. Apabila elemen 6 ditemui, kami menamatkan semua gelung menggunakan penyataan break 3.

Gunakan fungsi array_filter():

Jika anda ingin mencari elemen yang memenuhi syarat tertentu dalam tatasusunan tiga dimensi, anda boleh menggunakan fungsi array_filter() PHP terbina dalam. Berikut ialah contoh:

function findElements($element) {
    return ($element % 2 == 0);
}

$results = array_filter($threeDimensionalArray, function ($twoDimensionalArray) {
    return array_filter($twoDimensionalArray, function ($oneDimensionalArray) {
        return array_filter($oneDimensionalArray, 'findElements');
    });
});

print_r($results);

Dalam kod di atas, kami mentakrifkan fungsi yang dipanggil findElements yang mengembalikan sama ada elemen itu ialah nombor genap. Kemudian gunakan fungsi array_filter() untuk melintasi tatasusunan tiga dimensi $threeDimensionalArray dan mengembalikan elemen yang memenuhi syarat.

Ringkasan

Dalam artikel ini, kami mempelajari cara merentasi dan membuat pertanyaan tatasusunan tiga dimensi dalam PHP. Walaupun merentasi dan menanya tatasusunan tiga dimensi boleh membosankan, menguasai beberapa teknik boleh memudahkan anda memanipulasi data dalam tatasusunan dan mendapatkan maklumat yang lebih berharga daripadanya.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan tatasusunan tiga dimensi dalam 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