3

次の文字列を含む文字列を再フォーマットする必要があります。

$string = "---8\7----";

問題は、「\7」がPHPによって「\」と「7」の順にではなく8進値として解釈されることです。

PHPがこれを行うのをブロックするにはどうすればよいですか?もちろん、私は'\'ありがとうを維持する必要があります。

4

5 に答える 5

7

他の人が言ったように、バックスラッシュを別のバックスラッシュでエスケープしますが、なぜこれが起こるのかについて言及する必要があると思います. あなたの文字列は二重引用符で書かれており、PHP では特定のルールが呼び出されるテンプレート モードに入ります。一重引用符を使用すると、テンプレート化を行わないため、これも修正されます。

$string = '---8\7----';

これは 2 つのモードの長所と短所ですが、これを認識している限り、将来的にあまり苦しむことはありません。:)

于 2011-05-05T11:20:41.197 に答える
1

その文字をエスケープするには、バックスラッシュを指定する必要があります。

$string = "---8\\7----";
于 2011-05-05T11:22:14.927 に答える
0

バックスラッシュをエスケープします。

$string = "---8\\7----";
于 2011-05-05T11:15:57.407 に答える
0

2 つのスラッシュを使用します。

$string = "---8\\7----";
于 2011-05-05T11:16:14.983 に答える
0

エスケープ文字を使用:

$string = "---8\\7----";
于 2011-05-05T11:16:39.960 に答える