Fylle flerdimensjonale arrays med tall i rekkefølge i PHP

I de foregående eksemplene var alle tallene i underarrayene like. La oss nå gjøre så tallene øker, slik som dette:

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

For å gjøre dette må vi lage en spesiell tellervariabel, som øker sin verdi med 1 for hver iterasjon av den indre løkken. Verdien til denne telleren vil vi skrive inn i arrayet, slik som dette:

php<?php
  $arr = [];
  $k = 1; // teller
  
  for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
      $arr[$i][$j] = $k; // skriver inn telleren
      $k++; // øker telleren
    }
  }
  
  var_dump($arr);
?>

Vi kan redusere koden ved å plassere definisjonen av telleren i den første løkken, og k++ - i den andre:

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);
?>

Vi kan også øke telleren etter tildelingen:

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

Vær oppmerksom på at i dette tilfellet må det være nødvendigvis k++, og ikke ++k, fordi den andre varianten først vil utføre økning av telleren, og deretter skriving inn i arrayet (det vil si at arrayet som resultat vil starte med to, og ikke en).

Задание 1

Lag ved hjelp av to nestede løkker følgende array:

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

Lag ved hjelp av to nestede løkker følgende array:

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

Lag ved hjelp av tre nestede løkker følgende tredimensjonale array:

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