PHPの「.」の前後はスペース開けたほうがいいかも
◆ 「.」の後に数値が来てると小数点に解釈されます
PHPをつかってると見慣れないエラーが
PHP Parse error: Syntax error, unexpected T_DNUMBER on line 1
見た感じ構文に間違いはなさそうだったのですが 使ったことない機能を確認してるところだったので どこかにおかしな部分があるのかなと探していたのですが それらしいのは見つからなくて 最終的に「.」が原因ということがわかりました
↑の式 "x1" の変数の中身100が出力されそうに見えます
ですが $a.1 の「.」は 文字列結合じゃなくて小数点として扱われます
つまり $a0.1 とかいてることになります
こうみると $a0 と 1 の結合して $a01 になりそうに見えますけど 内部的には $a 999 と同じわけです
変数の後に いきなり数値が書かれているのでエラーと言われてしまいます
JavaScriptでも
こういうの昔の時代のファイルサイズを少しでも小さくするためのもので今じゃ不要な機能にしか思えないです
PHP Parse error: Syntax error, unexpected T_DNUMBER on line 1
見た感じ構文に間違いはなさそうだったのですが 使ったことない機能を確認してるところだったので どこかにおかしな部分があるのかなと探していたのですが それらしいのは見つからなくて 最終的に「.」が原因ということがわかりました
$a = "x";
$x1 = 100;
var_dump(${$a.1});
↑の式 "x1" の変数の中身100が出力されそうに見えます
ですが $a.1 の「.」は 文字列結合じゃなくて小数点として扱われます
つまり $a0.1 とかいてることになります
こうみると $a0 と 1 の結合して $a01 になりそうに見えますけど 内部的には $a 999 と同じわけです
変数の後に いきなり数値が書かれているのでエラーと言われてしまいます
JavaScriptでも
100.toString() // エラー
100..toString() // "100"
こういうのがありますし 「100.」や「.123」みたいな最初や最後が「.」で終わるのは数値扱いしないでくれると嬉しいんですけどこういうの昔の時代のファイルサイズを少しでも小さくするためのもので今じゃ不要な機能にしか思えないです