J'ai ceci:
if(!$lastname) { $lastname = $firstname; }
5 Réponses :
Vous n'obtenez pas une erreur em>, mais un avis em>. Bien que cela soit acceptable em> puisque PHP est une langue dynamique, Vous pouvez l'empêcher avec IMSET () CODE>
: P> $name = explode(' ', $queryString);
if (isset($name[1])) {
// show lastname
}
else {
// show firstname
}
L'avis vient à l'explosion (), alors même si j'enveloppe le si dans Isset (), il apparaît encore
@Jason McCrearty Isset code> n'empêche pas l'avis, car il est jeté dans la liste
code> affectation
@brian_d, tu as raison. Je n'encouragerais pas l'utilisation de liste () code> dans ce cas alors.
Essayez d'ajouter un espace:
list($firstname, $lastname) = explode(' ', $queryString . ' ' );
list($firstname, $lastname) = array_pad(explode(' ', $queryString, 2), 2, $queryString);
+1 solution intéressante. Bien que je discute, il est excessivé pour une chose aussi simple.
Je ne peux pas suivre ... La première solution ajoute simplement un seul appel de la fonction. C'est un appel unique, pas "Overkill". array_pad () code> est la fonction, qui est (et est conçue pour) exactement ce cas d'utilisation: s'assurer qu'il y a au moins
x code>. En disant "son overkill", vous dites également que
array_pad () code> est totalement inutile.
Ralentir là-bas roi b>. C'est un peu d'étirement - Overkill = array_pad () code> est inutile i>. Je n'ai dit rien de tel. Comme je l'ai souligné, c'est une solution intéressante. Mais, je maintiens 3 appels de fonction quand 1 ferait est Overkill i>. De plus, je pense que je pense stocker le prénom, dans une variable appelée
$ Nom code> est inincuté et conduit à un code médiocre. Je préférerais encourager l'op de le faire mieux i> que de le faire fonctionner.
@Jasonmccreary j'ai deux appels de fonction i> Appels de fonction (Rappelez-vous, que liste () code> est une construction de langue), ce qui est en plus des fonctions natives C, et que vous avez un appel de fonctions, mais un
supplémentaire si code> -Construction. Si vous pouvez fiables mesurez i> une différence significative i> i>, que je ne suis peut-être accepté, qu'il s'agit d'une excédence.
Peut-être que quelqu'un pourrait-il me dire, pourquoi j'ai 2 serveurs - un avec PHP 5.2.6 et la seconde avec 5.3.3, - et je reçois l'erreur décalage indéfini code> uniquement dans 5.3.3, tandis que le Le même code sur les mêmes données fonctionne correctement dans 5.2.6?
@Stan probablement à cause de error_rporting code> -Settings, mais pour être honnête: je ne suis pas sûr, si cela est lié à cette question / réponse :?
Je ne suis pas clair pourquoi cela fonctionne, mais la notification disparaîtra. Tout d'abord, avec ce code, je reçois l'avis de décalage indéfini: Cependant, avec ce code, je n'ai pas: p> aussi Remarque, avec '-' ou '-' annexé à $ DateToChange, je vais obtenir l'avis de compensation. Il faut trois tirets pour que cela puisse partir dans mon exemple avec quatre variables. Junk de $ contient les deux tirets (un étant un séparateur). P> p>
Il est préférable de ne pas simplement fournir des hacks - il est donc préférable de raisonner derrière des réponses.
Je viens de courir dans ça aujourd'hui. ma solution n'était pas ce qui précède,
(qui n'avait aucun effet) le mien était le suivant: au lieu de faire: p>