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

Bagaimana untuk menanyakan tatasusunan tiga dimensi dalam php

Apr 25, 2023 am 09:06 AM

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 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Topik panas

Tutorial PHP
1511
276