PHP

提供: Wikinote
2009年6月13日 (土) 12:14時点におけるHagio (トーク | 投稿記録)による版 (覚え書き)

移動: 案内検索

覚え書き

配列について

初期化 (定義)

  • $aArray = array(); で項目数 0 の配列が定義される。
  • 定義した場合は、count() で値を持つかどうか確認する。
  • 定義しない場合、isset() で定義されたかどうか確認後、参照する必要がある。
    • いきなり count などを行うと、Undefined variable のエラーが出る。
    • 使い方:if (isset($aArray)) ...

値の追加

  • $aArray[] = $item;

混沌の比較演算子

  • NULLarray()== で比較すると同一であるが、=== で比較すると異なる。
    • こういう複雑さが嫌なんだよなあ…。やっぱり C が簡潔で良い。

メッセージの出力先

CentOS 5 のデフォルトでは、PHP のエラーの出力先は Apache のエラーログ (/var/log/httpd/error.log) になっている。 PHP でプログラムを組んでいる場合などには表示しているページに出力された方が楽なので、設定を切り替える。

設定は /etc/php.ini の以下の部分

error_reporting  =  E_ALL ★お好みで変更する。デフォルトは E_ALL
  :
;display_errors = Off
display_errors = On ★

ただし、セキュリティ上好ましくないため、できるだけ Off にすること。

その他

  • include() と require() はどちらも指定されたファイルを読み込み、評価する関数だが、エラーが発生した場合の動作が異なる。require() ではエラーが発生すると処理を中断する。

Tips

シェルの実行結果を取得する

shell_exec() 関数を使う。

<? // サーバが起動してからの日数を得る。
$sec = shell_exec("gawk '{ print $1 }' /proc/uptime");
print floor($sec / 60 / 60 / 24);
?>