検索
ホームページバックエンド開発PHPチュートリアルphp_PHP チュートリアルにおける一重引用符と二重引用符の違いと使い方の紹介

php_PHP チュートリアルにおける一重引用符と二重引用符の違いと使い方の紹介

Jul 13, 2016 am 10:55 AM
php導入について違いアポストロフィそして成し遂げる引用符記事使用法

この記事では、多数の実装を使用して、一重引用符と二重引用符の使用法と違いを紹介しています。詳しく知りたい学生は、この記事を注意深く参照してください。

PHP では、通常、文字列は一対の引用符内で定義されます

以下の手順に従ってください:

コードは次のとおりです コードをコピー

$out = str_replace(array('rn', 'r', 'n'), '', $out);PHP は文字列を定義する 3 つの方法を提供します: 一重引用符、二重引用符、ローカル ドキュメント (ここでは英語ドキュメントで呼びます)またはヒアドキュメント)。

単一引用符:
PHP は組み込み変数と一重引用符で囲まれた文字列内のエスケープ シーケンスをチェックしないため、一重引用符を使用するのが最も効率的です。エスケープする必要がある文字はバックスラッシュと一重引用符自体だけです。

二重引用符:
組み込み変数とエスケープ シーケンスはチェックされますが、エスケープされた一重引用符は認識されません。これは、最初のコードの何が間違っているかも示しています。正しいアプローチは、二重引用符を使用して改行のエスケープ シーケンスを定義することです。

コードは次のとおりですコードをコピー$out = str_replace(array("rn", "r", "n"), '', $out);
ローカルドキュメント:

すべての組み込み変数とエスケープ シーケンスを確認してください。二重引用符をエスケープする必要はありません。例:

コードは次のとおりですコードをコピーエコー これは「ヒアドキュメント」の例です
テスト用です

EOT; 記録するだけで印象が深まります。

、たとえば:

コードは次のとおりですコードをコピー
「私は一重引用符で囲まれた文字列です」

「私は二重引用符で囲まれた文字列です」

PHP パーサーは文字列を決定するために引用符のペアを使用します。したがって、すべての文字列は同じ single または double を使用する必要があります

開始と終了を定義する引用符。たとえば、次の文字列定義は無効です:

コードは次のとおりですコードをコピー

文字列を定義する場合、区切り文字として考慮される引用符は一重引用符または二重引用符の 1 種類のみです。したがって、文字列が二重引用符で囲まれている場合
の場合、二重引用符のみがパーサーによって解析されます。こうすることで、二重引用符で囲まれた文字列内に他の文字 (一重引用符も含む) を含めることができます
番号。次の引用符文字列はすべて有効です:

「一致しない引用符があるため、有効な文字列ではありません」

「私も違うよ!」

上記の例では、二重引用符文字列内に二重引用符を含めようとしていますが、パーサーは 2 番目の二重引用符に遭遇したときに文字列が終了しているとみなします 終了した。引用符を含めるという目的を達成するには、文字列内で通常の引用符が見つかった場合、パーサーはその引用符の
コードは次のとおりです コードをコピー

$s = "私は二重引用符文字列内の「単一引用符文字列」です"; $s = '私は一重引用符文字列内の「二重引用符文字列」です';

PHP は、文字列の先頭に対応する引用符を見つけると、文字列の終わりに達したと判断します。そのため、次のようになります。

「なぜ「これ」がうまくいかないのですか?」

実際には、PHP パーサーによって次の 3 つの部分に分割されます。

「Why doesn't」—一重引用符を含む二重引用符文字列

これ - 余分な文字、パーサーは処理できません

「仕事?」 - 普通の文字列



を使用する必要があります。 この引用符が文字列の一部であることを PHP に伝えるには、その前にバックスラッシュを追加します。正しい表現は次のとおりです。



コードは次のとおりです

コードをコピー「なぜ「それ」はうまくいかないのですか?」 (英語の所有格)。次の文字には注意する必要があります:

英語の文字列でよくある問題は、アポストロフィ ' の使用です。これは単一引用符であり、英語の文字列では非常に一般的であるためです


コードは次のとおりです

コードをコピー「アポストロフィは避けたほうがいいです」に含める必要があります。 この記号の前には余分なバックスラッシュが付きます。例:

文字列の中でバックスラッシュ自体が特別な意味を持っていることがわかります。文字列にバックスラッシュ自体を含める必要がある場合は、


コードは次のとおりです

コードをコピー$file = "c:windowssystem.ini"; echo $file; // 出力結果は次のようになります: c:windowssystem.ini $file = "c:windowssystem.ini"; echo $file; // 出力結果は次のようになります: c:windowssystem.ini 2.文字列接続



特殊文字の問題を排除し、長いテキストの引用を容易にする文字列を定義する別の方法。文字列定義メソッド
このメソッドは

次のように、文字列連結文字 (.) を使用して文字列を接続できます。

コードは次のとおりです

コードをコピー

一般的な使用法は、HTML 文字列コードの大きなブロックを作成することです。割り当て記号 (=) とコネクタ (.) を省略して (.=) 記号に結合できます。 番号 (例:
)

$first_name = 'チャーリー'; $last_name = 'ブラウン'; $full_name = $first_name . $last_name;
コードは次のとおりですコードをコピー'; for ( $i=0 ; $i $square = $i * $i; $html .= ' }
$html .= '
$html = ''; $html .= '
数字 四角
' .$square '
';




3. 文字列で変数を使用する この機能を使用すると、連結記号を使用せずに、多数の単純な文字列を結合できます。 PHP では、二重引用符で囲まれた文字列に単語を直接含めることができます 文字列変数では、次の 2 つの文字列の処理結果が同じであることがわかります。


コードは次のとおりです

コードをコピー
$full_name = $first_name . $last_name; $full_name = "$first_name $last_name";

一重引用符文字列と二重引用符文字列は、PHP では異なる方法で処理されます。二重引用符で囲まれた文字列の内容は解釈して置換できますが、一重引用符で囲まれた文字列は
数値文字列の内容は常に通常の文字とみなされます。例:

コードは次のとおりです


コードをコピー

$foo = 2; echo "foo is $foo" // 結果を出力: foo は 2 ; echo "foo is $foon"; // 出力結果: foo は 2 (改行あり) echo 'foo は $foon' // 結果を出力: foo は $foon; 文字列内の変数の複雑な組み合わせを参照すると、いくつかの問題が発生する可能性があります。次のコードは正常に動作します。
echo 'foo is $foo' // 結果を出力: foo は $foo



ご覧のとおり、一重引用符で囲まれた文字列では、バックスラッシュもその拡張された意味を失います(バックスラッシュの挿入と一重引用符 ' の挿入を除く)。したがって、変数置換を実行し、文字列に n (改行) などのエスケープ シーケンスを含める場合は、二重引用符を使用する必要があります
番号。一重引用符文字列は他の場所でも使用できます。PHP パーサーは
に敏感であるため、スクリプト内で一重引用符文字列を使用すると処理速度が速くなります。 シングルクォート文字列の処理方法は比較的シンプルですが、ダブルクォート文字列の処理は内部で解析する必要があるため、より複雑になるため、処理速度は

若干遅いです。


コードは次のとおりです

コードをコピー

エコー "値 = $foo"; echo "値 = $a[$i]"; しかし、次のコードは私たちが望む結果を得ることができません: コードをコピー


コードは次のとおりです

echo "value = $a[$i][$j]"; //二次元配列 $a の要素を出力したい。

文字列を使用する際のこれらの潜在的な問題を回避するために、通常は次のように複雑な変数を文字列から分離します。

コードは次のとおりですコードをコピー
エコー '値 = ' . $a[$i][$j];

別の方法は、パーサーがそれらを正しく識別できるように、複雑な変数を中括弧で囲むことです:

コードは次のとおりですコードをコピー
echo "value = {$a[$i][$j]}" //2次元配列$aの要素を出力します

こうして新たな問題が発生する。文字列内で中括弧文字自体を引用したい場合は、エスケープ文字を使用することを忘れないでください:

コードは次のとおりですコードをコピー 3. スラッシュと SQL ステートメント
$var = 3; echo "value = {$var}" // 結果を出力 "value = 3"

echo "value = {$var}" // 結果を出力 "value = {3}";

HTML コードや SQL クエリ ステートメントの生成は、PHP プログラムを作成するときによく遭遇するものであり、興味深いものです。なぜそんなことを言うのですか
これには別のタイプのコードの生成が含まれるため、このコードの記述に必要な構文と規則を慎重に検討し、従う必要があります

しかし。


データベース内の名前が「O'Keefe」であるユーザーにクエリを実行する場合、通常の SQL ステートメントは次の形式になります。 こんな感じです:


コードは次のとおりです

コードをコピーlast_name = 'O'Keefe' のユーザーから * を選択 この場合、関数 AddSlashes($str) の目的は、文字列内の引用文字にバックスラッシュ エスケープ文字を自動的に挿入することです。

SQL ステートメント内の英語の所有文字 (アポストロフィ) はバックスラッシュでエスケープする必要があることに注意してください。 PHP はこれを処理するための関数をいくつか提供しています

コードは次のとおりです

コードをコピー
$last_name = "オキーフ"; $sql = "select * from users where last_name = '" .addslashes($last_name) "'";

この例では、二重引用符が使用されているため、last_name 文字列 (SQL 構文で必須) を一重引用符で囲む必要もあります
引用符の文字列なので、一重引用符のペアをエスケープする必要はありません。次のステートメントは、一重引用符文字列を使用するのと同じです:

コードは次のとおりです


コードをコピー

$sql = 'select * from users where last_name = '' .addslashes($last_name) ';

データベースに文字列を書き込むときは常に、内部の引用符が適切にエスケープされていることを確認する必要があり、これには多くの PHP が必要です
初心者が陥りやすい間違い。


4. 二重引用符と HTML

SQL ステートメントとは異なり、二重引用符は標準 HTML 言語で文字列を表すためによく使用されます (多くのブラウザーには強力なフォールト トレランス機能が備わっています
はい、HTML で文字列を表すために一重引用符を使用することも、引用符を使用しなくても許可されます。例:

コードは次のとおりです コードをコピー

$html = ''.$link.''; $html = "$link";

HTML 言語はバックスラッシュのエスケープをサポートしていません。これは、フォームの非表示の入力を使用してデータを送信するときに発生します

わかった。非表示の入力の値を設定する最良の方法は、htmlspecialchars() 関数を使用してエンコードすることです。次の文は次のようになります
二重引用符が含まれる可能性のあるデータを通常どおり送信するには:

コードは次のとおりですコードをコピー1. 引用符は文字列を定義します。引用符を含めるという目的を達成するには、文字列内で通常の引用符が見つかった場合、パーサーはその元の意味を無視する必要があります。これは、この引用符が文字列の一部であり、引用符であることを PHP に伝えるためです。正しい表現は次のとおりです。一重引用符文字列は他の場所でも使用できます。PHP パーサーは一重引用符文字列を比較的単純な方法で処理するため、二重引用符文字列を使用すると処理速度が速くなります。引用符は文字列の内部的な性質によるもので、解析も必要となるため、より複雑になるため、処理速度が若干遅くなります。

これは...二重引用符はエスケープされますが、一重引用符はエスケープされません

例: /r/n は改行ですが、一重引用符でファイルを作成すると、それは改行ではなく文字になります。二重引用符でファイルを作成すると、それは改行になります。

最後に、他のウェブサイトの意見をチェックしてください

” ” 二重引用符内のフィールドはコンパイラーによって解釈され、HTML コードとして出力されます。

‘ ‘ 一重引用符内の単語は解釈されず、直接出力されます。

文字通りの意味から、一重引用符の方が二重引用符よりも高速であることがわかります。

例:

コードは次のとおりですコードをコピー$abc='私の名前はトメ'; echo $abc //結果は次のようになります: 私の名前はトムです echo ‘$abc’ //結果は次のようになります:$abc特に MYSQL ステートメントを使用する場合、二重引用符と一重引用符の使用法は初心者にとって混乱を招く可能性があります。ここで例を示します。
echo “$abc” //結果は次のようになります: 私の名前はトムです


クエリ条件で定数が使用されていると仮定します。例:

コードは次のとおりですコードをコピーselect * from abc_table where user_name=’abc’;

SQL ステートメントは次のように記述できます:

コードは次のとおりです コードをコピー

SQLstr = "select * from abc_table where user _name= ‘abc’" ;

クエリ条件で変数が使用されていると仮定します。例:

コードは次のとおりです コードをコピー

$user_name = $_REQUEST['user_name'] //文字列変数

;

または

コードは次のとおりです コードをコピー

$user=array ("name"=>$_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//配列変数

SQL ステートメントは次のように記述できます:

コードは次のとおりです コードをコピー

SQLstr = "select * from abc_table where user_name = ' $user_name .

SQLstr = “select * from abc_table where user_name = ‘ ” ” ‘ “;

比較:

コードは次のとおりですコードをコピー
SQLstr=”select * from abc_table where user_name = ‘ abc ‘ ” ;

SQLstr=”select * from abc_table where user_name =’ ” $user _name .

SQLstr=”select * from abc_table where user_name =’ ” . ” ‘ “;

SQLstr は次の 3 つの部分に分解できます:

コードは次のとおりですコードをコピー1: “select * from table where user_name = ‘ ” // SQL ステートメントを修正しました
2: $user //変数
3:「」
文字列の 1、2、3 の部分の間には「.」
を使用します。

http://www.bkjia.com/PHPjc/632232.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632232.html技術記事この記事では、多数の実装を使用して、一重引用符と二重引用符の使用法と違いを紹介しています。詳しく知りたい学生は、この記事を注意深く参照してください。 PHP では通常 1 文字...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。Apr 17, 2025 am 12:22 AM

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール