この記事は約2分で読めます。

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

この記事は約 2 分で読めます。

こんにちは。ウチダユウマです。phpでWebサービスを開発する中でハマった一つがダブルクォーテーションの使い方でした。これから開発する人が同じ轍を踏まないように書き残したいと思います。

ifn0267

シングルクォーテーションとダブルクォーテーションの違い

変数 処理速度
シングル 展開しない 速い
ダブル 展開する 遅い

変数の展開というのはphpで書くと

<?php

$blog = '明日の働き方';

echo ‘$blog’;  ⇨  $blog

echo “$blog”;   ⇨  明日の働き方

?>

変数展開とは変数の中身を出すか、出さないかという事です。

失敗したポイント

今回、僕がハマったポイントは変数の中に変数が入るパターンです。

<?php 

$name = ‘YUMA’;

$mail = ‘こんにちは。”$name”さん’;

?>

といった具合に代入する値全体にシングルクォーテーションをかけて、変数にだけダブルクォーテーションをかけていました。そうすると・・・

「こんにちは。”$name”さん」というメールが届いてしまいました。よくよく考えてみるとシングルクォーテーションは囲った中身をそのまま出力するので、ダブルクォーテーションごと出力されていました。

ではどうすればいいか?

 

シンプルに考えて使おう

難しく考えず、使い分けましょう。

変数を展開したい場合、代入する値全体をダブルクォーテーションで囲えばOKです。

<?php

$name = ‘YUMA’; 

$mail = "こんにちは。$nameさん”;

?>

とすれば、「こんにちは。YUMAさん」という内容のメールが届きます。

こんな簡単なミスで1時間以上悩んでしまいました・・・

この記事で同じ轍を踏まない人が居てくれるとうれしいです。

ITスキルで人生の不安を軽くするメールマガジンやっています!

この記事をシェアする