Vul van multidimensionele skikkings met getalle in volgorde in PHP

In vorige voorbeelde was al die getalle in die subskikkings dieselfde. Laat ons nou maak sodat die getalle toeneem, soos volg:

php<?php
  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
?>

Om dit te doen, moet ons 'n spesiale tellerveranderlike maak, wat sy waarde sal verhoog met 1 by elke iterasie van die innerlike lus. Die waarde van hierdie teller is wat ons in die skikking sal skryf, soos volg:

php<?php
  $arr = [];
  $k = 1; // teller
  
  for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
      $arr[$i][$j] = $k; // skryf teller
      $k++; // verhoog teller
    }
  }
  
  var_dump($arr);
?>

Die kode kan verminder word deur die definisie van die teller in die eerste lus te plaas, en k++ - in die tweede:

php<?php
  $arr = [];
  
  for ($i = 0, $k = 1; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++, $k++) {
      $arr[$i][$j] = $k;
    }
  }
  
  var_dump($arr);
?>

Jy kan ook die teller verhoog na toewysing:

php<?php
  $arr = [];
  
  for ($i = 0, $k = 1; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
      $arr[$i][$j] = $k++;
    }
  }
  
  var_dump($arr);
?>

Let daarop dat in hierdie geval dit moet wees noodwendig k++, en nie ++k nie, aangesien die tweede opsie eers die teller sal verhoog, en dan skryf na die skikking (dit wil sê die skikking sal begin met twee, en nie met een nie).

Задание 1

Vorm met behulp van twee geneste lusse die volgende skikking:

php<?php
  [[1, 2], [3, 4], [5, 6], [7, 8]]
?>
Задание 2

Vorm met behulp van twee geneste lusse die volgende skikking:

php<?php
  [[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
?>
Задание 3

Vorm met behulp van drie geneste lusse die volgende driedimensionele skikking:

php<?php
  [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
?>