Es ist nicht notwendig, doppelte Anführungszeichen in einfache Anführungszeichen zu schreiben.
<?php echo ($i % 6 == 5) ? 'style="margin-right:0px"' : ''; ?>
Sie müssen nur einfache Anführungszeichen in einfache Anführungszeichen oder Anführungszeichen in Anführungszeichen umwandeln. Wenn Sie ein einfaches Anführungszeichen in einer einzelnen Zeichenfolge in Anführungszeichen schreiben möchten, würde dieses einfache Anführungszeichen die Zeichenfolge beenden.
$foo = 'a'b';
PHP sieht dies als die Zeichenfolge a
, gefolgt von einer sinnlosen b
und dem Beginn des Strings ';
, die nie beendet wird; Das ist ungültige Syntax.
$foo = 'a\'b';
Dies wird korrekt als die Zeichenfolge a'b
analysiert. Sie haben mit der Bedeutung das Zitat würde in der Regel an dieser Stelle haben würde.
Mit doppelten Anführungszeichen in einfachen Anführungszeichen gibt es keine solche Mehrdeutigkeit. Ein doppeltes Anführungszeichen innerhalb einer einzelnen Zeichenfolge in Anführungszeichen beendet die Zeichenfolge nicht, es hat dort keine spezielle Bedeutung, die es zu umgehen gilt. Wenn Sie einen umgekehrten Schrägstrich einfügen, wird der umgekehrte Schrägstrich wörtlich verwendet.
$foo = 'a"b'; // a"b
$foo = 'a\"b'; // a\"b
Ich nehme an, das Problem ist, wie Sie die Ausgabe betrachten. Wenn die Ausgabe style=\"…\"
lautet, können die doppelten doppelten Anführungszeichen in der Umgebung, in der Sie die Ausgabe betrachten, zu ungültiger Syntax führen.
Können wir mehr von Ihrem Code sehen? Die Backslashes sind nicht wichtig. Sie sollten Stil = \ "margin-right: 0px \" nicht style = "" selbst mit den Schrägstrichen sehen. – typeoneerror
wie hast du zufällig style = " Php echo ($ i% 6 == 5)?" Style = \ "margin-right: 0px \" ':' ';?> " – typeoneerror
Wo schaust du hin? das Ergebnis? Rohausgabe? Browser? Browser-DOM-Inspektor? – deceze