2009-07-30 7 views
0

Wie lautet das PHP-Äquivalent von Rubys "|| =" Zuweisungs-Idiom?PHP-Äquivalent eines Ruby-Zuweisungs-Idioms

Das Szenario ist, ich möchte ein Objekt oder Array "on demand" instanziieren und nicht unbedingt, wenn eine Klasse initialisiert wird.

Ich habe versucht, dies in den PHP-Dokumenten zu finden, aber ich habe Schwierigkeiten, Dinge zu finden, die ich brauche (Miss the Ruby).

Vielen Dank!

+0

möglich Duplikat von [Festlegen von Standardwerten (bedingte Zuweisung)] (http://stackoverflow.com/questions/163092/setting-default-values-conditional-assignment) – outis

Antwort

2

Ich glaube nicht, dass PHP eine ähnliche Zuordnung Syntax hat. Sie werden mit so etwas zu fälschen haben:

if (empty($someVar)) $someVar = "DefaultVal"; 

Hinweis: Ich bin nicht vertraut mit Ruby so las ich here auf dem || = Operator auf. Ich bin mir nicht sicher, wie dieser Operator, wie in diesem Link erklärt, Ihnen helfen würde, das zu tun, was Sie wollen, aber was auch immer.

0

Dieses auszuprobieren ist eines jener Dinge, die ich von Ruby verpassen. Sie können auch tun:

$foo = empty($foo) ? "default" : $foo; 

Hässlich wie die Hölle obwohl.

0

Danke Jungs! Alle diese Antworten waren hilfreich (ich hatte den Abschnitt "Variablen" der Dokumentation gelesen und fand dort keine leere()).

Ich endete mit der "isset ($ x) || $ x = 1" Version im anderen Thread (die meine vorherige Suche nicht auftauchte - die Suche nach Sonderzeichen ist problematisch).

Ich wollte allen Punkte geben, aber ich kann das scheinbar nicht ohne Registrierung tun, was ich für die 1001 Seiten, die ich häufig besuche, nicht tun kann. ;)

+0

Markieren Sie dann eine Antwort als akzeptiert. –

+0

Sie tun dies, indem Sie das Kontrollkästchen neben einer Antwort, die Sie mögen, oder die Ihre Frage beantwortet haben. –

2

Was:

<?php $someVar ?: 'default value'; ?> 

Das funktioniert gut mit PHP 5.3.

+0

Das funktioniert super. Aber nur bei> 5.3 – Maarten00

Verwandte Themen