PHPと、Javascriptの比較

PHP
Javascript
■変数の記述 宣言する必要はない。
頭に'$'をつけることを忘れがち。
ex.$i, $argv
var abc; のように宣言する。
■変数名の大文字、小文字の区別 あり。 あり(ちなみにHTML, CSSは無し)。
■変数の型 型はない 型はない
QueryStringは値が数字列であっても文字列として認識されるの注意
■外部変数 関数の外で定義し、関数内で使用するときは明示的にglobal宣言しなければならない。
従って、たまたまローカル変数と同じ名前の外部変数があっても問題ない。
関数の外で定義し、関数内で使用するとき明示的に宣言する必要はない。
従って、ローカル変数を宣言せずに使用しようとしたとき、たまたま同じ名前の外部変数があるとそちらを参照してしまうので注意。
■QueryStringの取得方法 特に宣言の必要はなく他の変数同様$abcのような形で参照できる。 全体をlocation.searchで参照('?'から末尾まで入る)。各変数の参照には文字列の切り出しが必要。
■コメント "//", "/* */" "//", "/* */"
■配列 多次元配列、連想配列あり 一次元の配列しかない。オブジェクトを連想配列のように使える
■配列の初期化 $ar = array("xxx", "yyy", ...); 連想配列の場合は $ar = array("リンゴ" => 120, "みかん" => 80); var ar = new Array("xxx", "yyy", ...);
var ar = ["xxx", "yyy", ...];
連想配列の例 image["width"]
■配列の長さ(文字の長さじゃない) sizeof(array) array.length
■シングルクォート/ダブルクォート ダブルクォートは変数を展開する。シングルクォートは展開しない。 違いはない
■文字列の連結子 "." "+"
■文字列のフォーマット化した出力 printf()が使える。 とくになし。
■オブジェクトリテラルの表記 少なくともPHP3ではなし 宣言なしに{x:8, y:6}などと書ける。戻り値とすることも可能。
■exit, return 関数内外問わずどこに記述してもよい(たぶん) exitは無し。関数内にのみreturnが記述できる。