現在から1日後をタイムスタンプで返す。

strtotime("+1 day");


だから文字列で欲しければ、

date('Y/m/d H:i:s', strtotime("+1 day"));


この他には、同じくタイムスタンプを返す

mktime(時、分、秒、月、日、年);

引数の順番がどうしても覚えられない、、


同じく現在から1日後をタイムスタンプで返すと。

mktime(0, 0, 0, date('m'), date('d'), date('Y'));
Smartyの修飾子

nl2br

{$text|nl2br} と使う。


正確には変換ではなく、開業の前に<br />を入れてくれる。


テキストエリアで入力させるなどすると、改行がはいる。

それをまたテキストエリアで表示させれば、改行されているので必要ないが、

ただ普通に(?)表示させただけでは、改行されない。

そんなときこれ。

@mysql_connect('host', 'root', 'pass') or die('unable to connect');



英文としては直感としてわかる。


けど、プログラミング的にはなんだこの文法って最初は思った。



意味は、接続できなければdie()する。


if (mysql_connect('host', 'root', 'pass')) {
    処理
} else {
    die('unable to connect');
}


実は単純な論理演算だ。


ORは左項、右項のどちらかがTRUEなら、式全体はTRUEとして評価される。


PHPはこの式を左から評価していく。


@mysql_connect('host', 'root', 'pass')がTRUEだった時点で、この式のTRUEは確定する。


確定するから、右項を評価する必要はない。


だから評価しない。


ってことだ。



だから逆にこういうのもできる。


!@mysql_connect('host', 'root', 'pass') and die('unable to connect');


接続に失敗したらdie()ってこと。