null と 0
if (null === '0') => false
if (null == '0') => false
if ('0') => false
if (null === 0) => false
if (null == 0) => true
if (0) => false
※「==」の場合、「'0'」と「0」で結果が変わる点に要注意
PHPのY10K問題
PHP は他の言語と同様に、時刻を扱う際にunix epochからの経過秒数(いわゆるunix time)を利用しています。PHP5.2.6以降では、64bit環境であればunix timeも64bitに拡張されています。これで2038年問題も過去のものになるというわけです。
一方、unix timeが64bitに拡張されたことでカオスな結果になることがあるようです。64bit環境のPHP5.2.11で気づいた点を紹介します。
strtotimeが西暦10K年以降に対応していない
<?php
var_dump ( strtotime ( " 9999-...
引用元
時間指定に「time()」を忘れるな!
// cookieの保存
× setcookie('setsubdomain', $subdomain, 60 * 60 * 10, '/');
○ setcookie('setsubdomain', $subdomain, time() + 60 * 60 * 10, '/');
26 $errors = array();
27 if (!$allflag && ($start_id < 1 || $end_id < 1)) {
28 $errors[] = '範囲指定のメンバーIDは1以上の整数値で入力してください';
29 }
30 if (!$allflag && $start_id > $end_id) {
31 $errors[] = '開始メンバーIDは終了メンバーIDより大きい値で入力してください。';
32 }
33 if ($errors) {
34 $this->handleError($errors);
35 }
配列定義しとかないとnoticeエラー出るよ!!