PHP プログラミング

PHPの基本 Part 2(型、変数)(全10回)

Javaプログラマの目線でPHPの基本をまとめています。

型サイズ

  • 整数のサイズはプラットフォーム依存
  • 定数のPHP_INT_SIZEPHP_INT_MAXでサイズを確認できる
  • 当環境(CentOS6.0 64bit)でそれぞれの定数を確認したところ、以下の数値でした。

  • 整数の最大値を超えると自動でfloatにキャストされる。

型キャスト

  • キャストは(int)hoge(integer)hogeintval(hoge)
  • 数字っぽい文字列は数値や浮動小数点に自動キャストされる(”0″、”0.0″、”0xFF”など)。
  • 文字列を数値にキャストすると、数値っぽいところまで数値としてキャストされ、残りは棄てられる。
  • 文字列同士の比較は===で比較(厳密な比較)
  • インスタンスが別でも文字列が同じならTRUEと判断する。

文字列

  • 可変長文字列(String型)のみ
  • シングルクォートまたはダブルクォートを用いて文字列を囲む
  • シングルクォートを用いた場合は、変数($hogeなど)、エスケープ文字(\nなど)は展開されない
  • 文字列に変数を入れる場合は、${hoge}のように波括弧で囲む
  • sprintf関数で文字列を書式化する。SQLの組み立てなど用途は幅広い。 
    $hoge = sprintf(<書式(%1$dや、%d、%sなどのプレースホルダを含む)>,[,<変数>,<変数>...]);
  • ほかにも多数の関数がある
    PHPマニュアル: String関数

ヒアドキュメント

  • 複数行にまたがる文字列

  • 終端識別子の文字列は何でも良い(必ず行頭でなければいけない)

Nowdoc

  • 変数を展開しないヒアドキュメント

論理型

  • trueまたはfalse(大文字小文字区別しない)
  • falseと判断されるもの
    • 数値の0、文字列のゼロ(“0”)
    • 要素ゼロの配列
    • null
  • trueは数値にキャストされると1になる

配列

  • 添字は文字列でも数字でも使用できる
  • 連想配列としても配列としても使用できる
  • 添字を指定せずに要素を追加すると、0始まりの数値が添え字になる。 また、自動的に末尾に追加される

  • 配列にはポインタがある。current, next, prev, endがあり、最後の要素の次を示しているとき、falseを返却する。
  • 入力順保証(使用例)

配列要素の削除

  • unset($list[1]);
  • array_shift()関数
  • array_pop()関数
  • 他にも、array_xxxxxという名前の関数がいろいろとあるので面白い
    PHPマニュアル: 配列関数