php - traza - matriz identidad en r
Usar bucles para crear matrices (5)
Soy extremadamente nuevo en php y me preguntaba si alguien podría ayudarme a usar un bucle for o while para crear una matriz de 10 elementos de longitud
La forma más simple es usar array_fill()
:
$array = array_fill(0, 10, ''Hello World'');
Pero debes saber que las matrices PHP se pueden redimensionar siempre que quieras, nunca he necesitado crear una matriz de cierto tamaño.
un poco más fácil de comprender para un principiante tal vez ...
<?php
// for loop
for ($i = 0; $i < 10; $i++) {
$myArray[$i] = "This is element ".$i." in the array";
echo $myArray[$i];
}
//while loop
$x = 0;
while ($x < 10) {
$someArray[$x] = "This is element ".$x." in the array";
echo $someArray[$x];
$x++;
}
?>
$array = array();
$array2 = array();
// for example
for ($i = 0; $i < 10; ++$i) {
$array[] = ''new element'';
}
// while example
while (count($array2) < 10 ) {
$array2[] = ''new element'';
}
print "For: ".count($array)."<br />";
print "While: ".count($array2)."<br />";
No estoy seguro de cuál es tu propósito aquí. Las matrices de PHP son dinámicas, lo que significa que puede seguir agregando elementos una vez creadas, es decir, no necesita definir la longitud de la matriz al inicio. Asumiré que quieres poner 10 cosas arbitrarias en una matriz.
en bucle:
$arr = array();
for ($i = 0; $i < 10; ++$i) {
$arr[] = "Element $i";
}
while loop:
$arr = array();
$i = 10;
while (--$i) {
$arr[] = "Element $i";
}
definiéndolo:
$arr = array("Element 1", "Element 2", "Element 3" ...);
O si solo quieres una gama de letras o números:
$arr = range(0, 9);
$arr = range(''a'', ''j'');
Un enfoque diferente para el bucle for
sería ...
$array = array();
foreach(range(0, 9) as $i) {
$array[] = ''new element'';
}
print_r($array); // to see the contents
Utilizo este método, me resulta más fácil echar un vistazo para ver qué hace.
Como señaló Straight , puede o no ser más fácil de leer para usted. Él / ella también señala que se crea un conjunto temporal, y por lo tanto es un poco más caro que un ciclo for normal. Esta sobrecarga es mínima, así que no me importa hacerlo de esta manera. Lo que implemente es decisión suya.