それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

PHPの文字列結合で抜けが致命傷になる

セミコロンを忘れたら大変なことになった

<?php
$str = "xxx";
$str .= "aa" .
$str .= "bb";
echo $str."\n";

実行結果

xxxbbaaxxxbb

これはツライ。一瞬何がなんだかわからなかった。

文字列の結合は再帰的に動作するので

$str = "xxx";
$str .= "aa" . $str .= "bb";

と解釈されて

xxx
$str .= "aaa". "xxx"."bb";//この時点で $str = "xxxbbb"
"xxx"."bb" . "aaa". "xxx"."bb" 

焦る。。。。一個抜けただけで想像もつかない文字列になった。