Quelle est la bonne façon d'initialiser les cordes à vide en PHP?
En C#, j'ai fini par adopter la méthode suivante de l'initialisation des chaînes vides:
string account = string.empty;
plutôt que
string account = "";
Selon mon mentor, et d'autres les développeurs C#, j'ai parlé, la première méthode est la meilleure pratique.
Cela dit, est-il un meilleur moyen d'initialiser les cordes à vide en PHP? Actuellement, je vois la suite largement utilisé:
$account = '';
Grâce.
- Les chaînes ne sont pas des objets de première classe en php, donc il n'y a pas vraiment d'autre moyen de les initialiser dans votre code ...
Vous devez vous connecter pour publier un commentaire.
Ce que vous faites est correct. Pas beaucoup plus à dire à ce sujet.
Exemple:
Vous pourriez obtenir de l'idiot et de faire quelque chose comme ceci:
..mais c'est tout à fait inutile, et c'est exactement la même chose - une chaîne vide.
Vous le faites à droite.
NULL
au lieu de""
(chaîne vide) plus tard (mais vraiment vous ne devriez pas en avoir besoin). Votre méthode est beaucoup plus clair, vous pouvez dire à la var est une chaîne tout de suite. Le typage faible peut être votre ami ou votre ennemi.Pour la plupart, ce n'est pas pertinente. Contrairement à de nombreuses langues, en PHP (habituellement) n'a pas d'importance si vous initialisez une variable. PHP va automatiquement lancer un non initialisée (ou même non déclarées) variable comme approprié pour l'utilisation immédiate. Par exemple, les suivantes sont correctes:
Le seul inconvénient est que de sélectionner les fonctions à vérifier le type de variable (comme le fait d'égalité stricte vérification, ===). Par exemple, le suivant échoue:
Ceci a un coût important, cependant. Contrairement à strictement tapé (ou, au moins, "plus stricte" tapé) langues, il n'y a rien dans le noyau du langage lui-même pour vous aider à attraper commune programmeur erreurs. Par exemple, les suivantes seront heureux de vous exécuter, mais probablement pas comme prévu:
Si vous choisissez d'initialiser toutes les variables, le faire comme vous l'avez fait. Mais alors activer PHP avis (E_NOTICE) pour obtenir le temps d'exécution de mises en garde sur les variables non initialisées. Si vous ne le faites pas, vous avez l'impression de perdre du temps et de frappes de l'initialisation de votre propre variable.
Voici quelques autres choses à considérer lorsque l'on travaille avec des chaînes de caractères en PHP:
Normalement, je cherche à éviter l'initialisation de vars comme ça. Au lieu de cela je localiser, ou de vérifier l'existence dans le code, sinon vous vous retrouvez maintenant une liste de blanchisserie de variables qui risquent de ne pas refléter l'utilisation dans le code d'initialisation suivante.
chr(32)
représente ASCII de l'espace (c'est à dire une chaîne de 1 octet de longueur).Si vous voulez éviter des erreurs comme
$myEmpty = " "
vs$myEmpty = " "
vs$myEmpty = ""
Parfois, il est difficile de dire quand il y a deux espaces ou d'un ou de aucun par les yeux de l'homme. À l'aide de
chr
fonction qui est résolu pour vous.Et pour vraiment chaîne vide (zéro octets), il n'y a pas d'autre moyen, mais simplement de définir avec le (seul) les guillemets comme
$nothing = '';