У меня есть массив
$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 отображались вместо этого.
Существует некоторая логика ошибок в итерации, вам не нужно перебирать более 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>";
}
}
Пожалуйста, напишите массив не в области строк:
echo "<td>" . $mat[$i][$j] . "</td>";
Или используйте это:
echo "<td>{$mat[$i][$j]}</td>";
Это должно решить проблему с уведомлением.