PHP: Ist es besser so verketten Sie auf 1 Zeile oder mehrere Zeilen? Oder gibt es einen Unterschied?
Gibt es einen Unterschied oder ist eine besser als die andere der folgenden:
$var = '';
...
$var .= 'blah blah';
$var .= $var2;
$var .= 'blah blah';
Oder
$var = '';
...
$var .= 'blah blah' . $var2 . 'blah blah';
Ist es ein Geschwindigkeits Unterschied oder gibt es einen Grund, warum würden Sie wählen einen über den anderen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es einen kleinen Unterschied, wenn man das echo der string.
ist etwas schneller als
Beide PEZ und Topbit korrekt sind. Ich möchte nur darauf hinweisen, etwas, was ich denke sieht besser aus als wurde hier gesehen:
versus
Ich bevorzuge die zweite, um die erste optisch ist es offensichtlich, Ihr Ergebnis ist ein string $var. Es verhindert auch, dass dumme Fehler wie:
Ist es egal, für ein paar, kurze, Streicher. Verwenden Sie, was ist klarer zu Lesen.
Aber wenn man viele von Ihnen (sagen Tausende) nicht so kurz, Sie werden wahrscheinlich wollen, um Sie in ein array und fügen Sie Sie zusammen. (Wie es passiert, dieser code ist oft leicht zu Lesen, wie die Verkettung der strings mit ".=", Sie haben also keine Einbußen bei der Klarheit auf dem altar der Leistung.)
EDIT: ich glaube nicht, dass meine oben denken ist gültig. PHP-strings sind veränderbar, richtig?
Wird keinen Unterschied machen. Beide sind Verkettung, also was ist am einfachsten zu Lesen ist, was Sie verwenden sollten.
Wenn Sie nach der besten Leistung, versuchen Sie es mit einem array und dann implodieren, wenn Sie fertig sind.
Irgendeiner Weise Sie es tun, die Geschwindigkeit Unterschied wird vernachlässigbar sein, es sei denn, Sie arbeiten mit tausenden von großen strings.
Für alles du bist die Verkettung manuell im code Leistung wahrscheinlich spielt keine Rolle, so dass die Lesbarkeit ist king. Für mich bedeutet dies oft mit heredoc syntax. Ich weiß nicht, wie es bricht mir Einzug Struktur, aber es ist besonders schön, wenn Sie wollen, Zeilenumbrüche und/oder Tabulatoren eingefügt, richtig in die Saiten.
Ich glaube nicht, dass Sie werden bemerken, für so eine kurze situation. Ich in der Regel entscheiden, aus Gründen der Lesbarkeit, die ich nutzen werde. Ich habe nur aufgeteilt auf zwei Situationen, die sonst auf einer Linie:
a) Erstellen einer multi-line-Antwort, so dass der code etwas imitiert, was der Benutzer zu sehen. Ich habe festgestellt, es macht es einfacher zu fangen, Tippfehler und Fehler auf diese Weise.
b) die Länge der Linie. Wenn die Zeile overflow meinem Fenster werde ich in der Regel brechen Sie es hoch, damit ich nicht haben, zu gehen, um das Ende der Zeile zu Lesen, die Ende. Die meisten Sprachen unterstützen ein Zeilenfortsetzungszeichen, so dass ich nicht wirklich brauchen, um zu brechen es physisch im code, sondern nur eine Gewohnheit, die ich habe, seit ich arbeite in einigen Sprachen, die es nicht haben.
Der Schnellste Weg, um eine große Menge von Daten in einer einzelnen Zeichenkette, wird die Ausgabe-Pufferung zu erfassen echo würde Ausgang.
Im Allgemeinen, es ist unwahrscheinlich, um einen signifikanten Unterschied zu der Geschwindigkeit des Programms, so dass es aussieht, offensichtlich, was Sie tun, denn Sie haben wieder zu kommen, um fix/update es später ohnehin. Die Lesbarkeit ist king.
Gibt es keinen bedeutsamen Unterschied. Es ist nur eine Frage der Codierung Vorliebe.
Hatte ich eine Ahnung, dass ein array und dann zusammenbricht könnte der Schnellste Weg. Ich war falsch! Jedoch tun ein $str = $str + $bla ist WIRKLICH langsam um Größenordnungen! Es ist nur von Bedeutung, wenn Ihr eine Tonne von Verkettungen. Hier mein test-code:
Hier sind die Ergebnisse, die ich bekam: