PHP

PHP の switch 文はコロンの代わりにセミコロンも使用可能

PHP

タイトル通り。 PHP の switch 文は case : や default : で使うコロンの代わりにセミコロンも使用可能。 case 句、default 句の後ろのセミコロンに注目。 // 実行結果 0 // 実行結果 default

文字列内にSJISの「0x5c」があると文字化けする

PHP

2バイト文字の中に0x5cがあると1バイト文字の「\」とみなされて不都合が起きる。 PHP で文字列を SJIS エンコードして、それをファイル名として ZIP に圧縮、という処理をしてたらファイル名がおかしくなったことで判明。原因は SJIS の文字列に対して str_r…

PHP4でタイムゾーンのオフセットを取得したい

PHP

PHP5では DateTimeZone クラスがあるので簡単にオフセットを得られるが、PHP4では若干手間がかかる上に指定のタイムゾーンは得られない。 現在のタイムゾーンでのオフセットを得る場合以下の関数を使う。 function getTimeZoneOffset() { $tz = localtime(0,…

strposを使うときの注意点

PHP

こういうの、困る。 警告 この関数は論理値 FALSE を返す可能性がありますが、FALSE として評価される 0 や "" といった値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用…

md5以外のハッシュ値を生成したいときは

PHP

ハッシュ値を得たいときに使用するmd5は危険性が指摘されているので、別のアルゴリズムで代替する必要がある。 例えば、SHA-256など。こういうmd5以外のアルゴリズムを用いてハッシュ値を得るには hash 関数を使う。 http://php.plus-server.net/function.ha…