PHPよくある落とし穴
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
PHPは仕様がよく変わったりするので、ハマってしまうことが多...
*POSTされた文字列が行方不明になる [#kc93b4fc]
htmlspecialcharsを使っていると起こります。~
PHP5.4.0からデフォルトのエンコーディングが変更になったた...
第3引数にエンコーディングを指定しましょう。
&color(red){×}; $string = htmlspecialchars($string);
&color(blue){○}; $string = htmlspecialchars($string, ENT_...
*現在のシーケンス値を取得しようとするとエラーになる [#r3c...
原因がPHPなのかPEARなのかPostgreSQLなのか不明です。~
いつの間にか取得できないようになってしまっていました。~
SQL文を直接指定してやれば動作します。
&color(red){×}; $seq = $mdb2->currID('seq');
&color(blue){○}; $seq = $mdb2->queryOne("SELECT currval('...
*mbstring周りが同じなのに文字化け [#n55a9043]
異なるサーバで、mbstring周りの設定は同じで、プログラムも...
その場合は、output_buffering や output_handler も同じか確...
*floorすると誤差が出る [#q266a471]
計算結果をround, ceil, floorするのはよくあると思いますが...
// 7
echo floor((0.1 + 0.7) * 10);
え、どうして8じゃないの?~
一度文字列に変換すると期待した値になります。
// 8
echo floor(strval((0.1 + 0.7) * 10));
正攻法はBC Math 関数を使用するらしいですが、面倒です。
詳しい説明はマニュアルにあります。~
https://secure.php.net/manual/ja/language.types.float.php
終了行:
PHPは仕様がよく変わったりするので、ハマってしまうことが多...
*POSTされた文字列が行方不明になる [#kc93b4fc]
htmlspecialcharsを使っていると起こります。~
PHP5.4.0からデフォルトのエンコーディングが変更になったた...
第3引数にエンコーディングを指定しましょう。
&color(red){×}; $string = htmlspecialchars($string);
&color(blue){○}; $string = htmlspecialchars($string, ENT_...
*現在のシーケンス値を取得しようとするとエラーになる [#r3c...
原因がPHPなのかPEARなのかPostgreSQLなのか不明です。~
いつの間にか取得できないようになってしまっていました。~
SQL文を直接指定してやれば動作します。
&color(red){×}; $seq = $mdb2->currID('seq');
&color(blue){○}; $seq = $mdb2->queryOne("SELECT currval('...
*mbstring周りが同じなのに文字化け [#n55a9043]
異なるサーバで、mbstring周りの設定は同じで、プログラムも...
その場合は、output_buffering や output_handler も同じか確...
*floorすると誤差が出る [#q266a471]
計算結果をround, ceil, floorするのはよくあると思いますが...
// 7
echo floor((0.1 + 0.7) * 10);
え、どうして8じゃないの?~
一度文字列に変換すると期待した値になります。
// 8
echo floor(strval((0.1 + 0.7) * 10));
正攻法はBC Math 関数を使用するらしいですが、面倒です。
詳しい説明はマニュアルにあります。~
https://secure.php.net/manual/ja/language.types.float.php
ページ名: