Rumah >pembangunan bahagian belakang >masalah PHP >Apakah kaedah perwakilan tatasusunan tiga dimensi dalam php

Apakah kaedah perwakilan tatasusunan tiga dimensi dalam php

PHPz
PHPzasal
2023-04-19 10:05:431066semak imbas

Tatasusunan dalam PHP terbahagi kepada tiga bentuk: tatasusunan satu dimensi, tatasusunan berbilang dimensi dan tatasusunan berbilang dimensi bermakna tatasusunan mengandungi tatasusunan, iaitu unsur tatasusunan masih tatasusunan. Dalam pembangunan sebenar, kita sering perlu menggunakan tatasusunan berbilang dimensi untuk mewakili beberapa struktur data yang kompleks, seperti jadual dua dimensi, data JSON, dsb. Seterusnya, kami akan memperkenalkan kaedah perwakilan tatasusunan tiga dimensi dalam PHP secara terperinci.

1. Tentukan tatasusunan tiga dimensi

Kaedah mentakrif tatasusunan tiga dimensi adalah serupa dengan mentakrifkan tatasusunan satu dimensi dan tatasusunan dua dimensi Ia juga ditakrifkan menggunakan array() atau "[]". Sebagai contoh, berikut ialah tatasusunan tiga dimensi yang ditakrifkan menggunakan tatasusunan():

$arr = array(
           array(
                 array("apple", "orange"), 
                 array("banana", "peach")
           ),
           array(
                 array("car", "bike"), 
                 array("bus", "train")
           )
       );

Kod di atas mentakrifkan tatasusunan tiga dimensi, di mana dimensi pertama mempunyai dua elemen dan setiap elemen ialah tatasusunan dua dimensi. Terdapat dua elemen dalam setiap tatasusunan dua dimensi, dan setiap elemen ialah tatasusunan satu dimensi. Akhir sekali, terdapat dua elemen dalam setiap tatasusunan satu dimensi, mewakili buah-buahan yang berbeza, pengangkutan dan maklumat lain.

2. Kaedah akses tatasusunan tiga dimensi

Mengakses elemen dalam tatasusunan tiga dimensi memerlukan penetapan tiga nilai indeks, yang mewakili kedudukan elemen dimensi pertama, kedua dan ketiga secara bergilir . Sebagai contoh, kod berikut mengeluarkan beberapa elemen tatasusunan tiga dimensi di atas:

echo $arr[0][0][0];  //输出apple
echo $arr[1][1][0];  //输出bus
echo $arr[0][1][1];  //输出peach

3 Kaedah traversal tatasusunan tiga dimensi

Kaedah merentasi tatasusunan tiga dimensi ialah. sama seperti merentasi tatasusunan satu dimensi dan tatasusunan dua dimensi Tatasusunan adalah berbeza. Di bawah, kami memperkenalkan dua kaedah traversal tatasusunan tiga dimensi yang biasa digunakan.

1. Gunakan gelung bersarang untuk melintasi tatasusunan tiga dimensi

Menggunakan gelung bersarang untuk melintasi tatasusunan tiga dimensi ialah kaedah yang boleh dilaksanakan. Contohnya, kod berikut menggunakan gelung dua peringkat untuk melintasi tatasusunan tiga dimensi $arr dan mengeluarkan nilai setiap elemen tatasusunan:

for ($i=0; $i<count($arr); $i++) {
  for ($j=0; $j<count($arr[$i]); $j++) {
    for ($k=0; $k<count($arr[$i][$j]); $k++) {
      echo $arr[$i][$j][$k]."<br/>";
    }
  }
}

Dalam kod di atas, gelung tahap pertama melintasi dimensi pertama dan tahap kedua Gelung melintasi dimensi kedua, dan gelung tahap ketiga melintasi dimensi ketiga, menghasilkan nilai setiap elemen tatasusunan secara bergilir-gilir.

2. Gunakan fungsi rekursif untuk melintasi tatasusunan tiga dimensi

Fungsi rekursif merujuk kepada teknik memanggil fungsi itu sendiri, yang sesuai untuk melintasi tatasusunan berbilang dimensi. Berikut ialah contoh kod untuk fungsi rekursif untuk melintasi tatasusunan tiga dimensi:

function traverse($arr) {
  foreach ($arr as $key=>$value) {
    if (is_array($value)) {
      traverse($value);
    } else {
      echo $value."<br/>";
    }
  }
}
traverse($arr);

Dalam kod di atas, fungsi rekursif bernama traverse() ditakrifkan Nama fungsi boleh dipilih sendiri Parameter fungsi ialah tatasusunan dua dimensi. Fungsi ini menggunakan gelung foreach untuk merentasi setiap elemen dalam tatasusunan Jika elemen semasa ialah tatasusunan, ia memanggil dirinya secara rekursif dan terus melintasi peringkat tatasusunan seterusnya. Jika elemen semasa bukan tatasusunan, nilai elemen adalah output secara langsung.

Di atas ialah dua cara untuk mewakili tatasusunan tiga dimensi dan merentasi tatasusunan tiga dimensi dalam PHP Menguasai kaedah ini boleh membantu kami mengendalikan tatasusunan berbilang dimensi dan meningkatkan kecekapan pembangunan kod.

Atas ialah kandungan terperinci Apakah kaedah perwakilan 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