LoginSignup
6
5

More than 5 years have passed since last update.

PHPにおけるシングルクォーテーションとダブルクォーテーションの違い

Posted at

シングルクォーテーションとダブルクォーテーションの違いで詰まった。

http://qiita.com/suin/items/cbbbe8844fd734fa20e2 を参考にした、改行コードを統一するコード

$tmp = preg_replace("/\r\n|\r|\n/",'\n', $hogehoge);

$tmp = preg_replace("/\r\n|\r|\n/","\n", $hogehoge);

どのように挙動が異なるかは上のコードと以下を続けて試してみれば良い。
4パターンが想定される。

explode('\n',$tmp);
explode("\n",$tmp);

クォーテーションを統一しないと、意図したとおりの挙動を示さない。

というのも、シングルかダブルかによって、\nを改行として扱うかが変わるからだ。

ダブルはシングルより多くの文字を、エスケープして扱う。

http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double を見れば何がエスケープされるか分かる。

変数の展開だけがクォーテーションの違いではないという教訓です。

6
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5