PHP-da ko'p o'lchamli massivlarni raqamlar bilan tartibda to'ldirish
Oldingi misollarda barcha raqamlar pastki massivlarda bir xil edi. Keling, endi raqamlar ortib boradigan qilaylik, mana shu tarzda:
<?php
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
?>
Buning uchun maxsus hisoblagich o'zgaruvchisi yaratish kerak,
bu ichki tsiklning har bir aylanishida
1 ga oshadi. Shu hisoblagichning qiymatini
massivga yozamiz, mana shu tarzda:
<?php
$arr = [];
$k = 1; // hisoblagich
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k; // hisoblagichni yozamiz
$k++; // hisoblagichni oshiramiz
}
}
var_dump($arr);
?>
Kodni qisqartirish mumkin, hisoblagichni aniqlashni
birinchi tsikliga, k++ ni esa ikkinchisiga qo'yish orqali:
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++, $k++) {
$arr[$i][$j] = $k;
}
}
var_dump($arr);
?>
Shuningdek, tayinlashdan keyin hisoblagichni oshirish ham mumkin:
<?php
$arr = [];
for ($i = 0, $k = 1; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$arr[$i][$j] = $k++;
}
}
var_dump($arr);
?>
E'tibor bering, bu holatda majburiy ravishda
k++ bo'lishi kerak, ++k emas, chunki ikkinchi variant
avval hisoblagichni oshiradi, keyin massivga yozadi
(ya'ni natijada massiv birlikdan emas, ikkilikdan
boshlanadi).
Ikkita ichki tsikldan foydalanib quyidagi massivni shakllantiring:
<?php
[[1, 2], [3, 4], [5, 6], [7, 8]]
?>
Ikkita ichki tsikldan foydalanib quyidagi massivni shakllantiring:
<?php
[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
?>
Uchta ichki tsikldan foydalanib quyidagi uch o'lchamli massivni shakllantiring:
<?php
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
?>