Überblick über PHP Kurzschrift
Ich habe die Programmierung in PHP für Jahre jetzt, aber ich habe nie gelernt, wie Sie mit jedem Kürzel. Ich über Sie kommen von Zeit zu Zeit in den code, und haben eine harte Zeit, es zu Lesen, so möchte ich lernen, die verschiedenen Kürzel, das existiert für die Sprache, so dass ich es Lesen kann und sparen Sie Zeit/Linien, indem Sie Sie benutzen, aber ich kann nicht scheinen, um eine umfassende übersicht über alle Kürzel.
Einer Google-Suche ziemlich viel zeigt exklusiv die Kurzform für if/else-Anweisungen, aber ich weiß, es muss mehr sein, als nur das.
Durch die Kurzform, ich Rede von Sachen wie:
($var) ? true : false;
InformationsquelleAutor der Frage James Simpson | 2010-12-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind einige der Kürzel-Operatoren in PHP.
InformationsquelleAutor der Antwort Click Upvote
PHP 5.3 eingeführt:
was weist den Wert von
$bar
zu$foo
wenn$bar
ausgewertettrue
(sonst$baz
).Können auch verschachtelt werden, den ternären operator (mit der richtigen Verwendung von Klammern).
Andere als das, es ist sonst nicht viel über Sie. Möchten Sie vielleicht Lesen Sie die die - Dokumentation.
InformationsquelleAutor der Antwort Felix Kling
Einer meiner Lieblings "tricks" in PHP ist die Verwendung der array union Betreiber beim Umgang mit Situationen, wie Funktionen, die ein array von Argumenten, fällt zurück auf default Werte.
Betrachten Sie beispielsweise die folgende Funktion akzeptiert ein array als argument übergeben, und muss wissen, dass der Schlüssel
'color'
'shape'
und 'size
' gesetzt sind. Aber vielleicht sind die user nicht immer wissen, was diese sein wird, so dass Sie wollen, um Sie mit einige Vorgaben.Einen ersten Versuch, man könnte versuchen, so etwas wie dieses:
Jedoch mit dem array-operator union können eine gute "Kurzschrift" zu machen, dieser Reiniger. Betrachten Sie die folgende Funktion. Es hat die exakt gleiche Verhalten wie der erste, aber ist klar:
Andere lustige Sache ist anonyme Funktionen(und-Verschlüsse, eingeführt in PHP 5.3). Zum Beispiel, um mehrere jedes element eines Arrays durch zwei, könnte man einfach Folgendes tun:
InformationsquelleAutor der Antwort mfonda
Genannt wird ternären operator, boolescher operator, der drei Operanden:
Ersten wird der Boolesche Ausdruck ausgewertet.
Der zweite Ausdruck ausgeführt, wenn der Boolesche Ausdruck TRUE ergibt.
Die Dritte ist der Ausdruck ausgeführt, wenn der Boolesche Ausdruck zu FALSE ausgewertet wird.
InformationsquelleAutor der Antwort Jacob Relkin
Niemand erwähnt
??
!InformationsquelleAutor der Antwort Robert Pounder
Ebenfalls neu in PHP7 ist der Raumschiff-operator. Vor allem nützlich im Rückrufe für Dinge wie
usort()
.Bevor:
Nach:
Grundsätzlich, es gibt eine negative ganze Zahl, 0 oder eine positive ganze Zahl basierend auf dem Vergleich von der linken Seite mit der rechten Seite.
InformationsquelleAutor der Antwort Okonomiyaki3000
So, Jacob Relkin ist absolut richtig, dass die "Kürzel", das Sie erwähnen, ist in der Tat aufgerufen, den "ternären operator, und als Sam Dufel fügt, ist es sehr weit verbreitet ist in anderen Sprachen. Je nachdem, wie die Sprache implementiert ist, so kann es sogar schneller sein für den server zu interpretieren, die Logik, sowie lassen Sie Sie Lesen es mehr schnell.
Also manchmal, was hilft, wenn Sie lernen ein neues Stück von Logik oder neue Operatoren, wie dies einer ist, zu denken, die Englisch (oder was auch immer Ihre Muttersprache ist) zu passen, um es. Beschreiben Sie in einem Satz. Reden wir mal über dein Beispiel:
Was Lesen wie diese:
Ist $var wahr? Wenn $var ist, return den Wert true. Wenn $var ist false, den Wert false zurück,.
Das Fragezeichen hilft erinnern Sie daran, dass Sie sich Fragen, eine Frage, die bestimmt den output.
Ein häufiger Anwendungsfall für das ternäre operator ist, wenn Sie überprüfen, etwas, was nicht unbedingt ein boolescher Wert, aber Sie können Boolesche Logik, um es zu beschreiben. Nehmen wir zum Beispiel das Objekt
Car
hat eine Eigenschaft namenscolor
einen string, der-wie variable (in PHP). Man kann nicht Fragen, ob ein string ist true oder false, weil das keinen Sinn macht, aber man kann Fragen verschiedene Fragen:Damit diese Zeile liest sich wie folgt:
Ist die Farbe des Autos dasselbe wie die Zeichenfolge "blue"?
Wenn es ist, den string "Whee dieses Auto ist blau!", ansonsten den string "Dieses Auto ist nicht blau."
Unabhängig von der ternäre operator gibt, ist in der rechten Seite einer Zuweisungsanweisung mit $output, und dieser string wird dann gedruckt.
InformationsquelleAutor der Antwort Mattygabe
Hier ist eine version in Kurzschrift.
Hoffe, dies hilft jemand
InformationsquelleAutor der Antwort Natdrip
Seit 5.4 haben Sie auch array-Literale, so müssen Sie nicht mehr zu schreiben:
Können Sie einfach schreiben:
Kein großer Unterschied, aber Recht nett.
InformationsquelleAutor der Antwort Okonomiyaki3000