Привет я пробую делать массив в php со случайными числами, только могу делать array, но массив 10x10 я не могу это - то, что я приношу из кода, я жду и смогите помогать мне
<?php
$numeros = array();
for ($i=0; $i <10; $i++) {
$aleatorio = rand(1,100);
array_push($numeros, $aleatorio);
}
for ($i=0; $i <count($numeros); $i++) {
echo $numeros[$i]," ";
}
?>
Ты можешь использовать range () и решать это таким образом:
foreach ( range( 1, 10 ) as $ejeY) {
foreach ( range( 1, 10 ) as $ejeX ) {
// Aquí creamos los ejes con un valor aleatorio
$ejesYX[ $ejeY ][ $ejeX ] = rand( 1, 100 );
}
}
print_r( $ejesYX );
Edit:
, Чтобы показывать результат $ejesYX
в таблице (html): Вышедшие
<?php
$ejeX = range( 1, 10 );
$ejeY = range( 1, 10 );
foreach ( $ejeY as $y ) {
foreach ( $ejeX as $x ) {
// Aquí creamos los ejes con un valor aleatorio
$ejesYX[ $y ][ $x ] = rand( 1, 100 );
}
}
// Creamos la tabla
$html = '<table border>';
$html .= '<th></th>';
// Para crear las columnas X ( $ejeX = 1 a 10 )
foreach ( $ejeX as $col_X ) {
$html .= '<th>'.$col_X.'</th>';
}
foreach ( $ejesYX as $col_Y => $valores ) {
$html .= '<tr>';
// Para crear las columnas Y ( $ejeY = 1 a 10 )
$html .= '<td><b>'.$col_Y.'</b></td>';
foreach ( $valores as $val ) {
// Creamos los campos de los valores
$html .= '<td>'.$val.'</td>';
}
$html .= '</tr>';
}
$html .= '</table>';
echo $html;
:
1 2 3 4 5 6 7 8 9 10
1 37 25 100 55 36 42 46 48 7 34
2 45 43 40 51 50 88 94 28 34 100
3 53 72 78 19 88 94 75 66 78 88
4 69 37 94 90 85 99 38 88 59 61
5 15 82 43 16 22 1 28 18 36 83
6 92 48 11 26 28 82 74 70 64 62
7 29 69 14 54 70 63 57 37 51 66
8 25 21 98 1 69 75 91 60 86 12
9 67 36 72 26 54 83 64 11 53 12
10 80 40 94 33 98 82 7 25 66 72
В этом случае, Гєnico, что ты faltarГ, - чтобы делать serГ, - чтобы показывать на экране, например в таблице, что тебе вычислил Блакк Сееп в Вашем ответе. Я это герметизирую в корпусе в одной funciГіn и делаю это тебе с циклами for, Гєnicamente из-за того, что вношу mГЎs выборы.
<?php
function matriz($a,$b,$min,$max){
for($x=0;$x<$a;$x++)
for($y=0;$y<$b;$y++)
$r[$x][$y]=rand($min,$max);
return $r;
}
$txt='<table border>';
foreach(matriz(10,10,1,100) as $x){
$txt.='<tr>';
foreach($x as $xy) $txt.='<td>'.$xy.'</td>';
$txt.='</tr>';
}
$txt.='</table>';
echo $txt;
?>
Вытекающий HTML:
<table border><tr><td>19</td><td>61</td><td>53</td><td>97</td><td>58</td><td>31</td><td>22</td><td>84</td><td>1</td><td>29</td></tr><tr><td>86</td><td>61</td><td>27</td><td>76</td><td>95</td><td>51</td><td>86</td><td>44</td><td>66</td><td>30</td></tr><tr><td>59</td><td>37</td><td>82</td><td>93</td><td>46</td><td>46</td><td>74</td><td>17</td><td>78</td><td>50</td></tr><tr><td>4</td><td>96</td><td>11</td><td>56</td><td>92</td><td>68</td><td>86</td><td>14</td><td>52</td><td>87</td></tr><tr><td>43</td><td>37</td><td>47</td><td>69</td><td>12</td><td>42</td><td>20</td><td>98</td><td>86</td><td>85</td></tr><tr><td>27</td><td>44</td><td>22</td><td>8</td><td>37</td><td>67</td><td>54</td><td>10</td><td>84</td><td>31</td></tr><tr><td>60</td><td>88</td><td>26</td><td>71</td><td>43</td><td>18</td><td>38</td><td>29</td><td>32</td><td>89</td></tr><tr><td>16</td><td>74</td><td>26</td><td>62</td><td>43</td><td>37</td><td>4</td><td>62</td><td>35</td><td>89</td></tr><tr><td>47</td><td>61</td><td>33</td><td>69</td><td>69</td><td>70</td><td>35</td><td>22</td><td>80</td><td>19</td></tr><tr><td>52</td><td>39</td><td>7</td><td>78</td><td>9</td><td>49</td><td>95</td><td>47</td><td>78</td><td>26</td></tr></table>
Я приношу одну тебе soluciГіn, чтобы мочь производить массивы С или БЕЗ повторенных элементов .
funciГіn genMatriz()
производит мультипространственный, назначенный по умолчанию array 10x10, с nГєmeros с 1 до 100, без повторений.
Она funciГіn printTable()
она aГ±adГ - чтобы представлять визуально вытекающий массив. Прими точно те же аргументы и пламя внутри.
<?php
function genMatriz(
int $height=10,
int $width=10,
bool $repeat=false,
array $elements=[]
): array
{
if (! $elements) {
$elements = range(1, ($height * $width));
}
for ($i=0; $i<$height; $i++) {
$row = [];
for ($j=0; $j<$width; $j++) {
$num_elements_in_arr = count($elements);
$position = rand(0, $num_elements_in_arr-1);
$row[] = $elements[$position];
// to generate without repetitions -> clear the element in array
if (! $repeat) {
unset($elements[$position]);
$elements = array_values($elements);
}
}
$result[] = $row;
}
return $result;
}
function printTable(
int $height=10,
int $width=10,
bool $repeat=false,
array $elements=[])
{
$arr = genMatriz($height, $width, $repeat, $elements);
$html='';
foreach ($arr as $row) {
$html.='<tr>' . PHP_EOL;
foreach ($row as $value) {
$html .= '<td>' . $value . '</td>' . PHP_EOL;
}
$html.='</tr>' . PHP_EOL;
}
echo '<table>' . PHP_EOL . $html . '</table>';
}
printTable();
Следующий вызов:
printTable(4,4);
производит HTML для таблицы как следующая (aГ±adГ - CSS, чтобы улучшать ее visualizaciГіn):
table, td {
border: 1px solid grey;
border-radius: 3px;
margin: 1em auto; /* only for table */
padding: 1em;
text-align:center;
}
<table>
<tr>
<td>13</td>
<td>5</td>
<td>15</td>
<td>14</td>
</tr>
<tr>
<td>10</td>
<td>1</td>
<td>9</td>
<td>6</td>
</tr>
<tr>
<td>2</td>
<td>11</td>
<td>4</td>
<td>3</td>
</tr>
<tr>
<td>8</td>
<td>7</td>
<td>12</td>
<td>16</td>
</tr>
</table>
Благодаря 2 из-за Ваших ответов, видя Ваши коды уже я смог делать это "в мой способ" я оставляю им код, снова спасибо
<?php
$numeros = array();
for ($i=0; $i <10; $i++) {
for ($j=0; $j < 10; $j++) {
$numeros[$i][$j] = rand(1,100);
}
}
echo "<table border align = 'center'>";
for($i=0;$i<10;$i++){
echo "<tr>";
for ($j=0; $j < 10; $j++) {
echo "<td>";
echo $numeros[$i][$j];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>