Meilleure façon de donner à une variable une valeur par défaut (simuler Perl ||, ||= )

J'adore faire ce genre de chose en Perl: $foo = $bar || $baz à attribuer $baz à $foo si $bar est vide ou non. Vous avez également $foo ||= $bletch qui ne assigner $bletch à $foo si $foo n'est pas défini ou vide.

L'opérateur ternaire dans cette situation est pénible et fatigant. Sûrement il y a un simple, élégant méthode en PHP?

Ou, la seule réponse est une fonction personnalisée qui utilise la fonction isset()?

  • Connexes sur la Revue de Code: codereview.stackexchange.com/q/12722/31433
  • BTW le Perl opérateurs avec les fonctionnalités souhaitées sont // et //= et ils existent aussi de Perl v5.10.0. L'original || et ||= test logique de la valeur, pas pour definedness.
  • pourquoi un 4-année-vieille question avec 29 upvotes être identifié comme un double d'un enfant de 1 an question avec 6 upvotes (qui lui-même a été marqué comme un doublon d'une autre question?) Je pense qu'il y a une grande valeur dans le maintien de cette question, tant le titre est plus générique (ne faisant pas référence à la réponse c'est à dire: la fonction isset()).
  • Ils sont précis et clairs les doublons. Il avoue que je ne pense pas beaucoup à propos de ce qui devrait être l'original, j'ai été dans le milieu de quelque chose d'autre, de faire un lien entre les deux était le but. La rétraction de mon VTC.
  • Une copie exacte, marqué OMI (à tort) comme un doublon d'une autre question: PHP raccourci pour la fonction isset()?
  • vos noms de variable me confondre. Pourquoi vous n'utilisez pas de "x" "y" "z" ...??
  • En fait, "foo", "bar", "baz" et (sans doute) "bletch" sont assez courantes dans le monde de la programmation - sujet aussi commun que "x", "y" et "z" dans le contexte de donner l'exemple de variable, de fonction, les noms de méthode.

InformationsquelleAutor Tom Auger | 2011-05-12