注: PHP には文字列の長さに制限はありません。唯一の制限は、コンピューターで使用できる PHP のメモリ (php.ini ファイルのmemory_limit 変数の値) です。
文字列の範囲を制限するには、次の 4 つの方法があります。
1. 一重引用符。 >2. 二重引用符;
3. プロトタイプ ドキュメントの構文 (PHP5.3.0 以降)
1. 文字列が単一引用符で囲まれている場合、文字列「,」に一重引用符が含まれている場合、バックスラッシュ「」記号をエスケープする必要があります。
コードをコピー コードは次のとおりです:
// 出力: アーノルドはかつてこう言いました: 「また来ます」 echo 'アーノルドは「また来ます」と言いました';
// 出力: C:*.* を削除しましたか?
echo 'C:\*.* を削除しましたか?'; 🎜>/ / 出力: C:*.* を削除しました?
echo 'C:*.* を削除しました?'; (文字列内のバックスラッシュがあるかどうかはまだ検証されていません)一重引用符で囲まれた文字列は変換する必要があります。 意味)
2. 文字列が二重引用符で囲まれている場合、すべての文字がエスケープされます。
エスケープ文字 シーケンス 意味
n 改行 (LF または 0x0A ( 10) ASCII の場合)
$beer = 'Heineken'; 🎜>echo "$beer の味は素晴らしいです"; // "'" は変数名としては無効です。 echo "彼は $beers を飲みました"; // は有効ではありません。変数名は文字ですが、変数は "$beer" です。 echo "彼は ${beer} を飲みました"; // 動作します
echo "彼は {$beer} を飲みました" // 動作します <🎜; >?> ;
同様に、配列の添字とオブジェクトのプロパティは解決されません。
コードをコピー
コードは次のとおりです:
// 動作しますが、文字列
echo " の外では動作が異なることに注意してください。バナナは $fruits[banana].";
// 動作します
echo "バナナは {$fruits['banana']}.";
// 動作しますが、PHP は定数を探します
echo "バナナは {$fruits[banana]} です。";
// これは解析エラーになります。 "バナナは $fruits['banana'] です。";
// 動作します
echo "バナナは " . $fruits['banana'] " です。"; >echo "この正方形は $square->width メートルです。";
// 解決策については、複雑な構文を参照してください。
echo "この正方形は $square->width00幅センチメートル。 ";
?>
2. 複合構文:
コードをコピー
コードは次のとおりです。 :
// すべてのエラーを表示
error_reporting(E_ALL);
$great = '素晴らしい';
// 動作しません。出力: これは { 素晴らしい}
echo "これは { $great}";
// 動作、出力: これは素晴らしいです
echo "これは {$great}";
エコー「これは ${great} です」;
// 動作します
echo "この正方形は幅 {$square->width}00 センチメートルです。";
// 動作します
echo "これは動作します: {$arr[4][3]}";
// これは $foo[bar] が文字列の外で間違っているのと同じ理由で間違っています。
// つまり、これは引き続き機能しますが、それは PHP が最初に
// foo という名前の定数を探すためです。レベル E_NOTICE (未定義の定数) のエラーが
// スローされます。
echo "これは間違っています: {$arr[foo][3]}";
// 動作します。多次元配列を使用する場合は、常に配列を中かっこで囲んでください
// 文字列内で
echo "This works: {$arr['foo'][3]}";
// 動作します。
echo "これは機能します: " 。 $arr['foo'][3];
echo "これも機能します: {$obj->values[3]->name}";
echo "これは $name という名前の変数の値です: {${$name}}";
echo "これは getName() の戻り値によって指定された var の値です: {${getName()}}";
echo "これは、$object->getName() の戻り値によって指定された var の値です: {${$object->getName()}}";