Heim >Backend-Entwicklung >PHP-Tutorial >Warum führen der ternäre Operator und die String-Verkettung zu anomalem Verhalten?
Bedenken Sie den folgenden Codeausschnitt:
<code class="php">$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';</code>
Man könnte es ahnen dass dieser Code $description die Zeichenfolge „Paper: Bond“ zuweisen würde, wenn $paperType „bond“ und andernfalls „Paper: Other“ ist. Das beobachtete Verhalten ist jedoch unterschiedlich.
Bei der Ausführung erhält $description entweder „Bond“ oder „Other“, wobei das Vorwort „Paper:“ weggelassen wird. Dieses unerwartete Ergebnis ist auf die fehlerhafte Platzierung von Klammern zurückzuführen.
Um den Code zu korrigieren, müssen Klammern hinzugefügt werden, um sicherzustellen, dass die Zeichenfolge in der richtigen Reihenfolge verkettet wird:
<code class="php">$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');</code>
Durch das Einschließen des ternären Ausdrucks in Klammern stellen wir sicher, dass die Verkettungsoperation zuerst ausgeführt wird, indem „Papier:“ an das verkettete Ergebnis von „Bond“ oder „Anderes“ angehängt wird.
Das obige ist der detaillierte Inhalt vonWarum führen der ternäre Operator und die String-Verkettung zu anomalem Verhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!