2010-07-30 3 views
3

Y a-t-il des chutes dans le code ci-dessous? Est-il sûr d'utiliser de cette façon. Je n'utiliserai plus le tableauPHP: implosion du tableau et retour du résultat à la même variable

$ records_msg = implode ("", $ records_msg);

+0

Est-ce que cela fonctionne vraiment? Même si c'est le cas, j'utiliserais une deuxième variable qui sauverait le tableau implosé. Après cela, j'attribuerais cette chaîne à la première variable. Donc, le second n'est qu'une variable auxiliaire. –

+0

@faileN pourquoi pas? – Znarkus

+0

Je ne sais pas, l'implosion de pensée fonctionnerait par référence ou quelque chose, de sorte que cela irait terriblement mal. Mais si ça marche bien, mais je ne le ferais jamais de cette façon :). Merci –

Répondre

2

php est dynamiquement typé. il n'y a rien de mal à choisir la brièveté au détriment de la clarté. vous pouvez souhaiter que les types de données de vos variables restent cohérents dans une fonction/méthode/classe/routine. mais rien dans la langue ne vous empêche de faire autrement.

+0

merci mais je ne vais pas l'utiliser ailleurs où – aWebDeveloper

4

Pas vraiment, mais l'utilisation d'un nom de variable différent pour la baie peut améliorer la lisibilité, car ce n'est pas encore un message.

4

Cela peut être déroutant pour quiconque lit votre code. Le premier $records_msg est un tableau, puis plus bas dans le code, il s'agit d'une chaîne. Je renommerais probablement le tableau en $records_messages et la chaîne en $records_message.

2

Une autre chose. Si vous avez un tableau dans un tableau, vous le perdrez. Exemple:

<?php 
$input = array(1,2,3,array(4,5)); 
echo implode(',', $input); 
?> 

retours:

PHP Notice: Array to string conversion in C:\Temp\1.php on line 3 
1,2,3,Array 
+0

merci mais le mien n'aura jamais un tableau à l'intérieur d'un tableau – aWebDeveloper

+0

@ user406659: "jamais" est une longue période. J'ai vu (et parfois écrit) beaucoup de code qui supposait à l'origine "que ça n'arrivera jamais". – Piskvor

Questions connexes