PHPのシングルクォート文字列とダブルクォート文字列の違いは何ですか?

821
rob waminal 2010-08-10 19:12.

文字列が一重引用符で囲まれ、場合によっては二重引用符で囲まれているPHPのコードが表示される理由が少しわかりません。

.NETまたはC言語では、一重引用符で囲まれている場合、それは文字列ではなく文字であることを知っています。

10 answers

1119
Peter Ajtai 2010-08-10 19:28.

PHP文字列は、 2つの方法だけでなく、 4つの方法で指定できます。

  1. 一重引用符で囲まれた文字列は、ほぼ完全に「現状のまま」表示されます。変数とほとんどのエスケープシーケンスは解釈されません。例外は、リテラルの一重引用符\'を表示するにはバックスラッシュでエスケープでき、バックスラッシュを表示するには別のバックスラッシュでエスケープできることです\\したがって、一重引用符で囲まれた文字列も解析されます)。
  2. 二重引用符の文字列には、エスケープ文字のホスト(一部の正規表現を含む)が表示され、文字列内の変数が評価されます。ここで重要な点は、中括弧を使用して、評価する変数の名前を分離できることです。たとえば、変数が$typeあり、を実行したいとしますecho "The $types are"。それは変数を探します$types。この使用法を回避echo "The {$type}s are"するには、ドル記号の前後に左中括弧を付けることができます。見てみましょう解析する文字列を配列変数と、そのような使用方法を参照してください。
  3. ヒアドキュメント文字列構文は、二重引用符で囲まれた文字列のように機能します。で始まり<<<ます。この演算子の後に、識別子が提供され、次に改行が提供されます。文字列自体が続き、次に同じ識別子が続き、引用を閉じます。この構文では、引用符をエスケープする必要はありません。
  4. Nowdoc(PHP 5.3.0以降)の文字列構文は、基本的に一重引用符で囲まれた文字列のように機能します。違いは、一重引用符や円記号でさえエスケープする必要がないことです。nowdocは<<<、ヒアドキュメントに使用されるのと同じシーケンスで識別されますが、後続の識別子は一重引用符で囲まれます<<<'EOT'nowdocでは解析は行われません。

注:一重引用符内の一重引用符と二重引用符内の二重引用符はエスケープする必要があります。

$string = 'He said "What\'s up?"'; $string = "He said \"What's up?\"";

速度:
一重引用符が二重引用符よりも速いことをあまり重視しません。特定の状況ではおそらく高速です。これは、PHP 4.3以降、一重引用符と二重引用符が基本的に同等に高速である1つの方法を説明する記事です(Useless Optimizations下部のセクションC)。また、このベンチマークページには、一重引用符と二重引用符の比較があります。ほとんどの比較は同じです。二重引用符が一重引用符よりも遅い比較が1つあります。

221
Dani 2010-08-10 19:19.

物事は二重引用符で評価されますが、一重引用符では評価されません。

$s = "dollars"; echo 'This costs a lot of $s.'; // This costs a lot of $s. echo "This costs a lot of $s."; // This costs a lot of dollars.
63
Janak Kanani 2014-04-12 17:54.

' 一重引用符

文字列を指定する最も簡単な方法は、文字列を一重引用符で囲むことです。一般に一重引用符の方が高速で、内部で引用されているものはすべてプレーン文字列として扱われます。

例:

echo 'Start with a simple string';
echo 'String\'s apostrophe';
echo 'String with a php variable'.$name;

" 二重引用符

PHPで二重引用符を使用して、コードを区切るためにピリオドを使用する{}必要がないようにします(注:連結(.)演算子を使用しない場合は、中括弧を使用して変数を含めます)。

例:

echo "Start with a simple string";
echo "String's apostrophe";
echo "String with a php variable {$name}";

PHPに一重引用符と二重引用符のパフォーマンス上の利点はありますか?

はい。一重引用符を使用する方が少し高速です。

PHPは、一重引用符の中にあるものを解釈するために追加の処理を使用しません。二重引用符を使用する場合、PHPは文字列内に変数があるかどうかを確認するために解析する必要があります。

40
Borealid 2010-08-10 19:15.

一重引用符で囲まれた文字列には、解釈される変数が含まれていません。二重引用符で囲まれた文字列はそうです。

また、二重引用符で囲まれた文字列には円記号なしのアポストロフィを含めることができますが、一重引用符で囲まれた文字列にはエスケープされていない引用符を含めることができます。

一重引用符で囲まれた文字列は、解析する必要がないため、実行時に高速になります。

32
Bang Dao 2010-08-10 19:23.

PHPでは、'my name'"my name"は両方とも文字列です。詳細については、PHPのマニュアルを参照してください。

あなたが知っておくべきことは

$a = 'name'; $b = "my $a"; == 'my name' $c = 'my $a'; != 'my name'

PHPで、人々は一定の文字列を定義するために単一引用符を使用して、のような'a''my name''abc xyz'文字列を定義するために二重引用符を使用している間、のような識別子を含みます。"a $b $c $d"

そして他のことは、

echo 'my name';

より速い

echo "my name";

だが

echo 'my ' . $a;

より遅い

echo "my $a";

これは、他の文字列の使用にも当てはまります。

20
Rabindra Nath 2017-03-03 00:34.

シングル、ダブル、ヒアドキュメント、およびナウドックの引用符の例

<?php

    $fname = "David"; // Single quotes echo 'My name is $fname.'; // My name is $fname. // Double quotes echo "My name is $fname."; // My name is David.

    // Curly braces to isolate the name of the variable
    echo "My name is {$fname}."; // My name is David. // Example of heredoc echo $foo = <<<abc
    My name is {$fname} abc; // Example of nowdoc echo <<< 'abc' My name is "$name".
        Now, I am printing some
    abc;

?>
16
Maulik Bhojani 2014-02-06 23:19.

PHPでは、一重引用符のテキストは文字列値と見なされ、二重引用符のテキストは変数の値を置き換えて処理することで変数を解析します。

$test = "variable"; echo "Hello Mr $test"; // the output would be: Hello Mr variable
echo 'Hello Mr $test'; // the output would be: Hello Mr $test

ここで、二重引用符は値を解析し、一重引用符は($test変数を解析せずに)文字列値と見なされます。

12
wallyk 2010-08-10 19:15.

両方の種類の囲まれた文字は文字列です。1つのタイプの引用は、他のタイプの引用を囲むために便利に使用されます。"'"および'"'。引用符のタイプの最大の違いは、囲まれた識別子参照が二重引用符の内側に置き換えられますが、一重引用符の内側には置き換えられないことです。

3
Hamza 2019-12-11 03:04.

PHPで一重引用符を使用する場合と二重引用符を使用する場合の違いは、echoステートメントで一重引用符を使用すると、文字列として扱われることです。...ただし、変数名を二重引用符で囲むと、その変数の値が文字列とともに出力されます。

0
Takit Isy 2018-04-10 03:09.

私は少し話題から外れていると言う人もいるかもしれませんが、とにかくここにあります:

あなたは必ずしも理由の間、あなたの文字列の内容を選択する必要はありません。
alert("It's \"game\" time.");またはalert('It\'s "game" time.');

あなたは英語の引用符の使用、およびアポストロフィの正しい文字に精通している場合、あなたはどちらか、二重引用符または一重引用符を使用し、それがないので問題はもうすることができます
alert("It’s “game” time.");し、alert('It’s “game” time.');

もちろん、必要に応じて変数を追加することもできます。二重引用符で囲んだ場合にのみ評価されることを忘れないでください。

Related questions

MORE COOL STUFF

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは、夫に会ったとき、典型的な交際のアドバイスに逆らいました。

マイケルシーンが非営利の俳優である理由

マイケルシーンが非営利の俳優である理由

マイケルシーンは非営利の俳優ですが、それは正確にはどういう意味ですか?

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

特徴的なスターのコリン・エッグレスフィールドは、RomaDrama Liveでのスリル満点のファンとの出会いについて料理しました!加えて、大会での彼のINSPIREプログラム。

「たどりつけば」をオンラインでストリーミングできない理由

「たどりつけば」をオンラインでストリーミングできない理由

ノーザンエクスポージャーが90年代の最も人気のある番組の1つになった理由を確認するには、Blu-rayまたはDVDプレーヤーをほこりで払う必要があります。

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖は、世界で2番目に大きいボイリング湖です。そこにたどり着くまでのトレッキングは大変で長いですが、努力する価値は十分にあります。

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

サロンからのヘアトリミングや個人的な寄付は、油流出を吸収して環境を保護するのに役立つマットとして再利用できます。

ホワイトハウスの最も記憶に残る結婚式を見てください

ホワイトハウスの最も記憶に残る結婚式を見てください

過去200年以上の間にホワイトハウスで結婚したのはほんの数人です。彼らは誰でしたか、そしてそこで結婚式を獲得するために何が必要ですか?

今週のコミックコンですべての素晴らしいものに追いつく方法

今週のコミックコンですべての素晴らしいものに追いつく方法

サンディエゴコミックコンは今週開幕し、オタクのアナウンス、ポスター、予告編、お気に入りの番組や映画のからかいでいっぱいになります。SDCCは、コンベンションフロア全体の多くのパネルで行われているため、すべてに対応するのは難しい場合があります。

Googleの9千万ドルの和解はアプリ開発者にとってもGoogleにとっても勝利ですか?

Googleの9千万ドルの和解はアプリ開発者にとってもGoogleにとっても勝利ですか?

小さなアプリ開発者は金曜日に発表された法的な和解でグーグルから9千万ドルをこじ開けた。アップルとの同様の合意に続いて熱くなった。金曜日のブログ投稿で、Googleは、Androidメーカーが市場での優位性を悪用してPlayストア経由でのアプリ内購入に対して30%の料金を不当に請求したと主張するアプリ開発者との訴訟を解決するために、9千万ドルを支払うことに合意したと述べました。

RadioShackのTwitterはハッキングされていませんでした、それはただの暗号のサクラです

RadioShackのTwitterはハッキングされていませんでした、それはただの暗号のサクラです

今週、RadioShackのTwitterアカウントは、奇妙なものから完全にひどいものになりました。短い順序で、会社のフィード全体が、バイブレーター、「ビッグティット」(スペルミス)、有名人やその他の企業アカウントを荒らしているツイートなど、NSFW素材の真の山になりました。

ヒッグス粒子から10年後、物理学にとって次の大きなものは何ですか?

ヒッグス粒子から10年後、物理学にとって次の大きなものは何ですか?

大型ハドロン衝突型加速器のトンネル内にあるコンパクトミュオンソレノイド(CMS)検出器。2012年7月4日、CERNの科学者たちは、1960年代に最初に提案された素粒子であるヒッグス粒子の観測を確認しました。

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya shared a sweet photo in honor of boyfriend Tom Holland's 26th birthday Wednesday

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

シーレン「Ms.JuicyBaby」ピアソンは、先月脳卒中で入院した後、「もう一度たくさんのことをする方法を学ばなければならない」ため、言語療法を受けていることを明らかにしました。

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

オスカー受賞者の世紀半ばの家には、3つのベッドルーム、2つのバス、オーシャンフロントの景色があります。

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、生後4か月の娘、モナコに母乳育児をしていると語った。

Un breve viaje espacial sobre conceptualizar el diseño

Complicarse la vida, mezclar churros con meninas (nada de ovejas) y encontrar valor en un trastero que adquiriste en una puja.

Un breve viaje espacial sobre conceptualizar el diseño

Bien. Hay un momento en toda salida al espacio exterior en el que de la tensión, la velocidad y las altas temperaturas derivadas del cruce de estratosfera a ionosfera se pasa a un momento de súbita calma, donde se despliega la vista completa del paisaje espacial que nos rodea.

Seguindo Todos os Protocolos (2022), de Fábio Leal

Seguindo Todos os Protocolos (2022), de Fábio Leal

Chico quer transar. Até aí, tudo bem.

多元宇宙—Junø

多元宇宙—Junø

チェーン間アカウントがJunoに登場します。異なるブロックチェーン間でスマートコントラクトの構成可能性と真の相互運用性を提供します。

#brand【ベター・コール・ソール!アメリカのテレビシリーズ「ブレイキング・バッド」に最高のビジネス例が隠されている】・・・ルールクリエイティブ

#brand【ベター・コール・ソール!アメリカのテレビシリーズ「ブレイキング・バッド」に最高のビジネス例が隠されている】・・・ルールクリエイティブ

1.ドラマを見た後、起業する考えはありますか?あなたのビジネスはボトルネックに遭遇しましたか?方向性がなくてわからない場合は、ドラマを追いかけて行くことを心からお勧めします。(?)ブラフではなく、最も完璧なビジネス例を隠すドラマがあります。2.ブレイキング・バッドとその弁護士ドラマ「ブレイキング・バッド」を見た友人たちは、演劇の中で、穏やかな表情で、弁護士のソウル・グッドマンに深く感銘を受けなければなりません。口を開けて、感覚の弱い傭兵の性格を持っています。道徳の面で、サル・グッドマンは無意識のうちに劇に欠かせない役割を果たし、彼自身のシリーズ「絶望的な弁護士」(ベター・コール・ソール)を生み出しました。ウェントウのテキストとビデオは、劇中のソウル・グッドマンのテレビコマーシャルです。製品(サービス)、競争戦略、市場ポジショニング、ブランド名、ターゲット顧客グループ、コミュニケーション軸から広告まで、サル・グッドマンの役割のビジネス設定は、「最低」と見なすことができる超超超超超超完全です。ブランドコミュニケーションのコスト」「変化」のモデル。なぜ?私の分析をご覧ください。3.ソウル・グッドマンの「事業戦略」1.基本情報ブランド名:Saul Goodman製品:法律相談サービス対象顧客:麻薬中毒、飲酒運転、事故など。法律知識の欠如は、一般的に公立弁護士にしか余裕がなく、真面目な弁護士も「特別な法律を持つ消費者」を避けます。恐れてはいけない「​​ニーズ」。コミュニケーションの主軸:この国のすべての男性、女性、子供は有罪判決を受けるまで無実だと思います。地域:アルバカーキ市スローガン:Thrallに電話したほうがいいです!(ベター・コール・ソール)広告:2つの可能性のある犯罪状況をシミュレートします+サウルの主張+サウルのスローガン2をより適切に呼び出します。

Language