PHP5 初級試験 [基本編]
PHP5 初級試験 [PJ0-100] 勉強中なので、基本的な内容について学んだことをつらつらと箇条書きで書いていきます。
書いて忘れないようにする作戦なので、内容にはご期待なさらず。
- 変数名の大文字/小文字を区別する。関数は区別しない。
- ""(ダブルコーテーション)で囲った変数は展開される。''(シングルコーテーション)は展開されない。
- == での値の比較はデータ型を見ない。===は見る。
- 下記の比較を行なった場合、'1abc'の後ろの文字列は削除され、trueになる。
'1abc' == 1
- 変数と配列の違いがあっても同一変数名は使用できない。
- 連想配列も配列の順序は保持される。
- グローバル変数を操作するときは、明示的に指定が必要。
- ヒアドキュメントは改行を含むような長い文字列を表すのに適する。
- 連想配列のキーは整数値 or 文字列に変換される。(booleanのtureも文字列に、07という文字列は7という整数値に、10.5→10、null→空文字列、配列やオブジェクトはキーにできない)
- 7!=7 と7<>7は同意義
- <=>演算子は、左辺が右辺より小さい時には-1, 同じ時には0, 等しい時には1を返却する。
- メモリ・リソースの開放を明示的に行う必要はない。
- スクリプトの実行前・後に自動的に実行するスクリプトをphp.iniで設定できる。
- PHPはシステムを初期化する段階でモジュールを読み込む。
- PHPの文字列型は文字エンコーディング情報を持たないのでバイナリ型として利用できる。
- array_mergeで配列を連結すると添字振り直し。加算演算子で連結すると添字維持。
- 型をチェックしなければ、0, null, false, から文字は全て等しい。
- 配列は加算演算子に対応しているが、減算演算子には対応していない。
- PHPはプラットフォーム間の差異を完全には吸収しない。
- OSによってはサポートされていない関数がある。
- シングルコーテーションを利用した方が速度は速い。ダブルをつかうと、文字列に変数が含まれるかパースが行われるため。
- スコープレゾリューションオペレータ(::)って呼ぶ
- Javaと違い、引数1で定義した関数の呼び出し時に引数をいくつ渡してもエラーは出ない
function say_hello($name) { echo "こんにちは $name さん!"; } say_hello('やまだ', 'すずき', 'さとう');
- Javaと違い、関数の定義時にデフォルト値を設定できる
- include/require文で関数定義を行うファイルを2回以上読み込むと定義済み関数が再定義されるエラーが発生する。
- require文は読み込むファイルが存在しないと致命的なエラー(E_ERROR)を発生させ、スクリプトの実行が停止する。
増えたりします。
ところでいつかPHP7の試験に切り替わるのではと待っていたのですが、それっぽい動きがないですね。