文字列および変数の連結は「.」を使う
//文字列の連結
echo "もじ"."と"."もじ"; // => もじともじ
//変数と文字列の連結
$a = 1;
echo "これは".$a; // => これは1
//変数と変数の連結
$a = 1;
$b = "あ";
echo $a.$b; // => 1あ
連結には「.=」を使うこともできる
$a = "もじ1";
$b = "もじ2";
$a .= $b;
echo $a; // => もじ1もじ2
文字列の中で変数を展開することもできる
$animal = "犬";
$name = "はな";
echo "私が飼っている${animal}の名前は${name}です。"
「.」の代わりに「,」で連結するとメモリの無駄がない
$a="長い文字列が入っている。とても長い。ものすごく長い。";
$b="データ的にも大きい。長いと大変メモリを食う。";
$c="連結させて出力したいが消費メモリは極力少ないほうがいい。";
echo $a . $b . $c;
echo $a , $b , $c;
上記2つのecho文はどちらもブラウザ上で同じように表示できる。が、内部の処理として以下の違いがある。
■echo $a . $b . $c;
- 3つの変数の結果をそれぞれ文字列で取得する
- 取得した3 つの文字列を連結して新しい文字列を生成する
- 生成した文字列を表示する
■echo $a , $b , $c;
- $aの結果を文字列で表示する
- $bの結果を文字列で表示する
- $cの結果を文字列で表示する
つぶやき
サーバーへの負荷を考えると「,」のがいいんだけどついつい「.」でつなげちゃうんだよなぁ…