9
votes

PHP Générez une matrice () de la boucle?

Je viens d'écrire cela, est-ce le moyen le plus efficace d'ajouter des tableaux à une matrice préexistante.

$c=4;
$i=1;
$myarray = array();

while($i <= $c):
    array_push($myarray, array('key' => 'value'));
    $i++;
endwhile;

echo '<pre><code>';
var_dump($myarray);
echo '</code></pre>';


0 commentaires

5 Réponses :


2
votes

Votre exemple vous semble bien, bien que vous remplaciez probablement votre appel de fonction array_push code> avec: xxx pré>

quelle "est" une syntaxe de sténographie pour array_push. P>

Mise à jour: strong> Pour un tableau associatif, vous venez de faire: P>

$myarray["item"] = "1 items";


6 commentaires

sonne bien, si je voulais seulement ajouter des articles au lieu de tableaux, je pourrais simplement exécuter $ myARRAY [] = 'article', "1 articles"; / correct?


@ KR1ZMO: Vous aurez probablement une erreur avec ce code. Peut-être que vous voulez dire $ myarray ['item'] = '1 éléments' ?


Non, chaque mission à ce sujet est propre.


Comment puis-je appuyer sur cela dans un tableau 'Item' => "1 items" sans créer de tout nouveau tableau pour le placer dans ce tableau non pas ("article '=>" 1 articles ")


Je ne comprends pas la question.


OK, si vous exécutez cette array_push ($ myarray, "nouvel élément"), il ajoute cet élément à la matrice, mais vous ne pouvez pas définir la clé qui est le premier élément de "touche" => "valeur".



5
votes

Je ferais personnellement les suivants en regardant votre code: xxx

selon Ceci , array_push est un peu moins efficace que $ myarray []


0 commentaires

3
votes

Si vous n'avez vraiment besoin que de mettre une certaine valeur N Times dans un tableau à partir d'un certain index, vous pouvez simplement utiliser < Code> array_fill : xxx


0 commentaires

20
votes

Votre code a quelques choses qui peuvent être améliorées:

Numéros magiques

C'est une mauvaise pratique pour attribuer des nombres magiques comme 4 et 1, utiliser des constantes. Pour cet exemple, il est bien sûr survenir mais il est toujours important de savoir et d'utiliser.

manque d'accolades

Utilisez toujours les bretelles frisées, il rend le code plus lisible. < H3> mauvaise utilisation de la boucle tandis que

Ce n'est pas un cas pour une boucle tandis que si vous souhaitez boucler un certain nombre de fois, utilisez toujours une boucle!

Utilisation ennuyée de Array_Push

Vous n'avez pas besoin d'une matrice poussée pour ajouter des éléments à un tableau, vous pouvez et devriez probablement utiliser la fonction sténographique.

résultat : < / p> xxx


3 commentaires

Ne n'utilisez toujours pas les accolades bouclées , lors de l'ajout de code PHP en ligne Utilisez la syntaxe alternative ou vous allez simplement frustrer quelqu'un qui va essayer de comprendre quel support bouclé ferme quel bloc. (Parce qu'il y a toujours une personne de l'équipe qui est l'éditeur de l'équipe place des onglets aléatoires via le code)


@mhitza: En effet. Le code PHP en ligne ne devrait pas arriver que souvent, cependant.


@markus, comment puis-je faire la même chose avec le forach. Ce serait génial si vous aidez. Merci



-1
votes
for($i=1; $i < 10; $i++) {
    $option[$i] = $i;
}

0 commentaires