как сделать следующий шаблон в php, используя вложенный цикл for - PullRequest
0 голосов
/ 29 февраля 2020

Я хочу сделать матрицу 512 столбцов х 256 строк, с таким шаблоном:

expected result

Я пробовал это с этим:

$b = 0;
matrik = [[]];
  for ($i=0; $i < 512; $i++) { 
     for ($j=0; $j < 256; $j++) { 
         if ($j=$b) {
             $matrik[$j][$j] = 1;
         }else{
             $matrik[$j][$j] = 0;
         }
         $b++;
      }
  }
return $matrik;

но вывод этого кода был:

[
 [
   0
 ],
 {
   1: 1
 },
 {
   2: 1
 },
 {
   3: 1
 },
 {
   4: 1
 },
 {
   5: 1
 },

1 Ответ

1 голос
/ 29 февраля 2020
$matrix = [];

// For each row
for ($i = 0; $i < 512; $i++)
{
  // Current row
  $row = [];
  // Offset of the 1 in the row
  $offset = floor($i / 2);

  // For each column
  for ($j = 0; $j < 256; $j++)
  {    
    // If the current j is on the offset 1, else 0
    $row[] = (($j == $offset) ? 1 : 0);
  }

  // Append row to matrix
  $matrix[] = $row;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...