web-dev-qa-db-fra.com

Utilisation de boucles pour créer des tableaux

Je suis extrêmement nouveau en php et je me demandais si quelqu'un pourrait m'aider à utiliser une boucle for ou while pour créer un tableau de 10 éléments

22
Mike
$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 />";
25
Owen

Une approche différente de la boucle for serait ...

$array = array();

foreach(range(0, 9) as $i) {
    $array[] = 'new element';
}

print_r($array); // to see the contents

J'utilise cette méthode, je trouve qu'il est plus facile de jeter un coup d'œil pour voir ce qu'elle fait.

Comme strager l'a souligné, il peut être plus facile de vous lire. Il/elle souligne également qu'un tableau temporaire est créé, et est donc légèrement plus cher qu'une boucle normale. Ces frais généraux sont minimes, donc cela ne me dérange pas de le faire de cette façon. Ce que vous mettez en œuvre dépend de vous.

13
alex

un peu plus facile à comprendre pour un débutant peut-être ...

<?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++;
}

?>
4
John T

Je ne sais pas exactement quel est votre but ici. Les tableaux de PHP sont dynamiques, ce qui signifie que vous pouvez continuer à y ajouter des éléments après leur création - c'est-à-dire que vous n'avez pas besoin de définir la longueur du tableau au début. Je suppose que vous voulez mettre 10 choses arbitraires dans un tableau.

pour boucle:

$arr = array();
for ($i = 0; $i < 10; ++$i) {
    $arr[] = "Element $i";
}

boucle while:

$arr = array();
$i = 10;
while (--$i) {
    $arr[] = "Element $i";
}

en le définissant:

$arr = array("Element 1", "Element 2", "Element 3" ...);

Ou si vous vouliez simplement une gamme de lettres ou de chiffres:

$arr = range(0, 9);
$arr = range('a', 'j');
3
nickf

La manière la plus simple est d'utiliser array_fill() :

$array = array_fill(0, 10, 'Hello World');

Mais vous devez savoir que les tableaux PHP peuvent être redimensionnés quand vous le souhaitez de toute façon, je n'ai jamais eu besoin de créer un tableau d'une certaine taille.

1
too much php