データ型
未定義の変数、データ型は NULL です。
PHP の配列とオブジェクトは異なる型ですが、js の配列はオブジェクトです。 (追記: es6 には既に組み込みクラスがあります)
演算子文字列の連結では + の代わりに . (ドット演算子) を使用します。したがって、PHP では 2 つの文字列数値を + で接続すると、自動的に数値に変換されて加算されます。
1 |
|
foreach ループは 配列 でのみ機能し、配列内の各キーと値のペアを反復するために使用されます。
1 |
|
js におけるダブルクォーテーションとシングルクォーテーションの使い方は基本的に同じです。
PHP 内の単一引用符はコンテンツをプレーンテキストとして扱い、サーバーによって翻訳されません。二重引用符はその逆で、内部のコンテンツはサーバーによって処理され、HTML コードとして出力されます。
1 |
|
データベースクエリステートメントを作成するときに非常に便利です。
結果は次のようになりました:
1 |
|
実際には、次のようにするだけで済みます:
1 |
|
二重評価を避けるために (効率が高く) 可能であれば一重引用符を使用します (js の eval() に似ています) 、setTimeout コールバックは文字列などを渡しません)。
関数パラメータの受け渡しJS 関数は値によって渡されます (詳細については、こちらを参照してください)。ただし、オブジェクト (配列を含む) パラメータを渡すときは特に注意する必要があります。元の値が変更されている可能性がありますので注意してください。
PHP は、値による受け渡しと参照による受け渡しをサポートしています。違いは、C 言語と同様に、関数パラメーター内の & アドレス記号です。
値による (元の値は変更されない):
1 |
|
参照による (元の値が変更される):
1 |
|
js の変数のスコープは関数単位であり、ブロックレベルのスコープはありません。 (追記: es6 let キーワードはブロックレベルのスコープを実装します)。
PHP には 3 つの異なる変数スコープがあります:
関数の外部で宣言された変数はグローバル スコープを持ち、関数内でのみ外部にアクセスできます。 (これは js とは異なり、js 関数は関数の外の変数にアクセスできます) 関数内で宣言された変数は LOCAL スコープを持ち、
は関数内でのみアクセスできます。 (jsと似ています) PHP 関数外の変数は関数外からのみアクセスでき、関数内の変数は関数内からのみアクセスできます。グローバル キーワード (または $GLOBALS[]) を使用して、内部と外部の境界を開くことができます。 関数内の外部変数にアクセスする:
1 |
|
または:
1 |
|
関数の外で内部変数にアクセスする (実際には関数内でグローバル変数を宣言します):
1 |
|
または:
1 |
|
PHP で変数を強制することもできます変換、これはC言語に似ています。変換する変数の前にターゲットの型を追加し、ターゲットの型を括弧で囲みます。
PHP で許可される強制型変換は次のとおりです:
(int)、(integer) - 整数型に変換されます
(bool)、(boolean) - bool 型に変換されます
is_integer()
is_string()
変数の型を設定する:
settype()1 |
|
データ型も返します
と変数の値。echo() (複数の文字列を出力可能) または var_dump() を使用して変数を出力します。 php ファイルをブラウザで直接開くと、印刷結果がページに表示されます。http リクエストの場合、印刷結果は http レスポンス (f12 ビュー) に表示されます。 JS デバッグのコンソール出力スタイルに慣れている場合は、chrome-logger を試すことができます
その他isset() は変数が定義されているかどうかを判断します
unset() は 1 つ以上の変数を削除します