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

Bagaimana untuk mendapatkan tatasusunan tiga dimensi dalam php

PHPz
PHPzasal
2023-04-24 15:48:55950semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan Web Dalam proses pembangunan Web, tatasusunan tiga dimensi sering digunakan oleh itu, adalah penting untuk pembangun PHP menguasai cara mendapatkan tatasusunan tiga dimensi. .

Tatasusunan tiga dimensi merujuk kepada tatasusunan yang terdiri daripada pelbagai tatasusunan. Tatasusunan itu sendiri ialah tatasusunan satu dimensi, setiap elemen ialah tatasusunan dua dimensi, dan setiap elemen setiap tatasusunan dua dimensi ialah tatasusunan satu dimensi. Dalam erti kata lain, tatasusunan tiga dimensi adalah seperti kubus, yang terdiri daripada pelbagai tatasusunan dua dimensi yang disusun bersama. Seterusnya kami akan memperkenalkan cara mendapatkan tatasusunan tiga dimensi.

1. Loop traversal

Melalui tatasusunan ialah cara yang berkesan untuk mendapatkan elemen tatasusunan Anda boleh menggunakan struktur gelung untuk mengakses setiap elemen tatasusunan satu demi satu, termasuk tatasusunan tiga dimensi . Kita boleh menggunakan berbilang struktur gelung bersarang untuk merentasi tatasusunan tiga dimensi untuk mendapatkan setiap elemennya.

Sebagai contoh, katakan terdapat tatasusunan tiga dimensi $threeArr, yang struktur elemennya adalah seperti berikut:

$threeArr = array(
    array(
        array('a', 'b', 'c'),
        array('d', 'e', 'f'),
        array('g', 'h', 'i')
    ),
    array(
        array('j', 'k', 'l'),
        array('m', 'n', 'o'),
        array('p', 'q', 'r')
    ),
    array(
        array('s', 't', 'u'),
        array('v', 'w', 'x'),
        array('y', 'z', '1')
    ),
);

Menggunakan struktur gelung untuk melintasi tatasusunan dan mendapatkan elemennya boleh menggunakan kod berikut:

foreach($threeArr as $key1=>$array1) {
    foreach($array1 as $key2=>$array2) {
        foreach($array2 as $key3=>$value) {
            echo 'threeArr['.$key1.']['.$key2.']['.$key3.']=' .$value.'<br>';
        }
    }
}

Melalui kod di atas, kita boleh mendapatkan setiap elemen tatasusunan $threeArr dan nama kuncinya yang sepadan.

2. Gunakan penunjuk

Selain melintasi gelung, anda juga boleh menggunakan penunjuk untuk mendapatkan tatasusunan tiga dimensi. PHP menyediakan beberapa fungsi terbina dalam untuk memanipulasi penunjuk, seperti fungsi reset(), end() dan next(), yang boleh menunjuk ke elemen pertama, elemen terakhir dan elemen seterusnya pada tatasusunan dengan mudah.

Jika anda ingin mendapatkan elemen pertama dalam tatasusunan tiga dimensi $threeArr, anda boleh menggunakan fungsi reset() untuk menunjuk ke elemen pertama tatasusunan, seperti yang ditunjukkan di bawah:

reset($threeArr);
$array1 = current($threeArr);
$array2 = current($array1);
$value = current($array2);
echo 'threeArr[0][0][0] = '.$value;

Jika anda ingin mendapatkan Elemen terakhir tatasusunan tiga dimensi $threeArr, anda boleh menggunakan fungsi end() untuk menunjuk ke elemen terakhir tatasusunan, seperti yang ditunjukkan di bawah:

end($threeArr);
$array1 = current($threeArr);
$array2 = current($array1);
$value = end($array2);
echo 'threeArr[last][last][last] = '.$value;

Jika anda ingin mendapatkan elemen seterusnya dalam tatasusunan tiga dimensi $threeArr, anda boleh menggunakan fungsi The next() menghala ke elemen tatasusunan seterusnya, seperti ditunjukkan di bawah:

reset($threeArr);
$array1 = current($threeArr);
$array2 = current($array1);
$value = current($array2);
next($array2);
$value = current($array2);
echo 'threeArr[0][0][1] = '.$value;

3 . Menggunakan algoritma rekursif

Rekursi merujuk kepada cara fungsi itu sendiri digunakan dalam algoritma, yang boleh digunakan dalam atur cara Memanggil fungsi secara berterusan untuk melengkapkan pemerolehan tatasusunan tiga dimensi. Tatasusunan berbilang dimensi boleh dilalui dengan cekap menggunakan algoritma rekursif.

Dengan mengandaikan bahawa $threeArr ialah tatasusunan tiga dimensi, algoritma rekursif boleh digunakan untuk melaksanakan kod berikut untuk mendapatkan elemen:

function get_three_arr($arr) {
    foreach ($arr as $key => $value) {
        if (is_array($value)) {
            get_three_arr($value);
        } else {
            echo 'value = '.$value;
        }
    }
}
get_three_arr($threeArr);

Dalam kod di atas, get_three_arr() fungsi menerima tatasusunan tiga dimensi sebagai parameter, Dan lelaran melalui setiap elemen tatasusunan melalui struktur gelung foreach. Jika elemen ialah tatasusunan, teruskan memanggil fungsi get_three_arr() secara rekursif untuk melintasi setiap elemen tatasusunan sehingga elemen terakhir dilalui. Jika elemen adalah nilai normal, nilai tersebut adalah output secara langsung.

Melalui tiga kaedah di atas, pembangun PHP boleh mendapatkan setiap elemen dalam tatasusunan tiga dimensi dengan mudah. Ini adalah kemahiran yang sangat penting untuk tatasusunan tiga dimensi yang sering digunakan dalam pembangunan web.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan 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