定数をダブルクォーテーションで括るとどうなるか?

定数

概要

 状態:解決済  閲覧数:392  投稿日:2013-10-14  更新日:2013-10-14
定数をダブルクォーテーションで括ると、単なる文字列として取り扱われる
・変数の場合 $ で始まるので(変数名だと明示されているため)処理出来るが、定数の場合ダブルクォーテーションの中で使われると文字列なのか定数なのか判断出来ないため


例1 … 定数出力

 閲覧数:171 投稿日:2013-10-14 更新日:2013-10-14

コード例


定数内容を正常出力
define("DOMAIN",     "○○ドメイン");
echo DOMAIN;
//出力結果
//○○ドメイン


ダブルクォーテーションで括ると、単なる文字列として出力
define("DOMAIN",     "○○ドメイン");
echo "DOMAIN";
//出力結果
//DOMAIN


例2 … 正規表現の条件判定に利用

 閲覧数:209 投稿日:2013-10-14 更新日:2013-10-14

コード例


定数内容と一致
define("DOMAIN",     "○○ドメイン");

if (preg_match("/".DOMAIN."/",  "○○ドメイン")){
echo "一致";
}else{
echo "不一致";
}
//処理結果
//一致


定数内容と不一致
define("DOMAIN",     "○○ドメイン");

if (preg_match("/DOMAIN/", "○○ドメイン")){
echo "一致";
}else{
echo "不一致";
}
//処理結果
//不一致


定数ではないので、文字列と一致
define("DOMAIN",     "○○ドメイン");

if (preg_match("/DOMAIN/", "DOMAIN")){
echo "一致";
}else{
echo "不一致";
}
//処理結果
//一致