Kujirudia na Miundo ya Dimensi Nyingi katika PHP
Array ya dimensi nyingi ya kiwango cha kujazwa holela, kwa mfano, kama hii:
<?php
$arr = [
1,
[
2, 7, 8
],
[
3, 4, [5, [6, 7]],
]
];
?>
Kama unavyoona, array hii ina muundo mgumu, na inachukuliwa kuwa muundo huu unaweza kuwa wa holela na viwango vya kujazwa vinaweza kuwa virefu kadiri vingavyotaka.
Tuseme tunataka kuonyesha kwenye skrini mambo yote ya msingi (yaani, sio arrays) ya array yetu. Katika kesi hii, ili kupitia array kama hii hatutaweza kutumia vitanzi, kwa sababu array ina muundo usiofaa na kiwango kisichojulikana cha kujazwa.
Lakini kupitia array kama hii itakuwa rahisi sana kutumia kujirudia.
Kwanza tufanye kitendakazi, ambacho parametri tutapeana array yetu, na kwenye kitendakazi tufanye kitanzi cha kupitia array yetu:
<?php
function func($arr) {
foreach ($arr as $elem) {
echo $elem;
}
}
func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);
?>
Kitanzi tulichofanya kitapitia tu
vipengele vya array kuu. Yaani mwanzo
kitaonyesha 1, kisha [2, 7, 8],
na kisha [3, 4, [5, [6, 7]].
Wacha sasa tutenganishe kwenye kitanzi vipengele-vya-msingi na vipengele-vya-array:
<?php
function func($arr) {
foreach ($arr as $elem) {
if (is_array($elem)) {
// kipengele - array
} else {
// kipengele - msingi
echo $elem;
}
}
}
func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);
?>
Na sasa tufanye ili ikiwa kipengele chetu ni array, kitendakazi kijijie mwenyewe, kikipeleka kama parameta array hii:
<?php
function func($arr) {
foreach ($arr as $elem) {
if (is_array($elem)) {
func($elem);
} else {
echo $elem;
}
}
}
func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);
?>
Array ya dimensi nyingi ya kiwango cha kujazwa holela, kwa mfano, kama hii:
<?php
$arr = [1, 2, 3, [4, 5, [6, 7]], [8, [9, 10]]];
?>
Kwa kutumia kujirudia onyesha mambo yote ya msingi ya array hii kwenye skrini.