Kujaza Arrays Nyingi-dimensional Namba Kwa Mtiririko katika PHP
Katika mifano iliyopita namba zote katika arrays ndogo zilikua sawa. Sasa tufanye ili namba ziongezeke, kama ifuatavyo:
<?php
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
?>
Ili kufanya hivyo, inahitajika kutengeneza variable maalum-kihesabu,
ambayo itaongeza thamani yake kwa
1 kila wakati kitanzi cha ndani
kinapofanyika. Thamani ya kihesabu hiki ndio tutakaokuwa
tukiandika kwenye array, kama ifuatavyo:
<?php
$arr = [];
$k = 1; // kihesabu
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k; // tunaandika kihesabu
$k++; // tunaongeza kihesabu
}
}
var_dump($arr);
?>
Inawezekana kupunguza code, kwa kuweka ufafanuzi wa kihesabu
katika kitanzi cha kwanza, na k++ - kwenye cha pili:
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++, $k++) {
$arr[$i][$j] = $k;
}
}
var_dump($arr);
?>
Pia inawezekana kufanya kuongezeka kwa kihesabu baada ya kugawa:
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k++;
}
}
var_dump($arr);
?>
Zingatia kuwa katika kesi hii lazima iwe
k++, na si ++k, kwa sababu chaguo la pili
kwanza litafanya kuongezeka kwa kihesabu, kisha ndio uandikaji
kwenye array (hivyo basi array itaanza na mbili,
wala si moja).
Tengeneza kwa kutumia vitanzi viwili vilivyowekwa ndani array ifuatayo:
<?php
[[1, 2], [3, 4], [5, 6], [7, 8]]
?>
Tengeneza kwa kutumia vitanzi viwili vilivyowekwa ndani array ifuatayo:
<?php
[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
?>
Tengeneza kwa kutumia vitanzi vitatu vilivyowekwa ndani array ifuatayo ya three-dimensional:
<?php
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
?>