@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()ってこと。