Я пытаюсь вставить значения из одномерного массива в 2d матрицу в php, получая Примечание: преобразование массива в строку

У меня есть массив

$re_arr=array("ask","bat","cod","dig","egg","fur","gap","hay","ice","jar","kin","lee","mux","nod","odd","pro","qat","raw","sad","tax","ups","vet","wed","xis","yak");

в нем 25 элементов, я хочу перенести его элементы один за другим в 2d матрицу.
я пытаюсь использовать:

  echo"<table border=”1px” width=30% height=50% align=center>";
for($i=0;$i<5;$i++)
{
echo"<tr>";
for($j=0;$j<5;$j++)
{
for($k=0;$k<25;$k++)
$mat[$i][$j]=$re_arr[$k];
echo "<td>$mat[$i][$j]</td>";
}
echo"</tr>";
}}

$ i и $ j предназначены для итерации в $ mat, который является 2d-матрицей, а $ k должен пройти через все 25 элементов одномерного массива.

вывод:
Примечание: преобразование массива в строку в C: \ xampp \ htdocs \ authen.php в строке 4

и в таблице, показанной на рисунке, я хочу, чтобы элементы внутри $ re_arr отображались вместо этого.
вывод кода

-2

Решение

Существует некоторая логика ошибок в итерации, вам не нужно перебирать более 25 массивов элементов:

<?php
echo '<table border="1px" width=30% height=50% align=center>';
for ($i = 0; $i < 5; $i++) {
echo "<tr>";
for ($j = 0; $j < 5; $j++) {
$mat[$i][$j] = $re_arr[$i * 5 + $j];
echo "<td>{$mat[$i][$j]}</td>";
}
echo "</tr>";
}
}
5

Другие решения

Пожалуйста, напишите массив не в области строк:

echo "<td>" . $mat[$i][$j] . "</td>";

Или используйте это:

echo "<td>{$mat[$i][$j]}</td>";

Это должно решить проблему с уведомлением.

1

По вопросам рекламы [email protected]