PHP (外国名: Hypertext Preprocessor、中国語名: 「ハイパーテキスト プリプロセッサ」) は、一般的なオープンソースのスクリプト言語です。この構文は C 言語、Java、Perl の特徴を吸収しており、学習が容易で主に Web 開発の分野に適しています。
PHP の独自の構文は、C、Java、Perl、および PHP 独自の構文を組み合わせたものです。 CGI や Perl よりも高速に動的 Web ページを実行できます。他のプログラミング言語と比較して、PHP で作成された動的ページは HTML (Standard Universal Markup Language に基づくアプリケーション) ドキュメントにプログラムを埋め込んで実行するため、HTML タグを完全に生成する CGI よりも実行効率が高く、コンパイルされたコードも実行できます。コンパイルにより暗号化が実現され、コードの実行が最適化され、コードの実行が高速化されます。
PHP 定数:
事前定義された定数:
PHP 自体も多数の事前定義定数を定義しており、これらは get_define_constants() を使用して表示できます。より一般的に使用される事前定義定数は次のとおりです。
PHP_OS: PHP システム。
PHP_VERSION: PHP のバージョン。
PHP_EOL: 改行文字 (クロスプラットフォームの移植性、非常に重要)。オペレーティング システムごとに異なる値が使用されます。改行はオペレーティング システムによって異なります。ウィンドウ: rn *nix: n MAC: r
PHP_INT_MAX: 整数の最大値。
PHP_INT_SIZE: 整数が占めるバイト数。
PATH_SEPARATOR: 環境変数内のパス間の区切り文字。
DIRECTORY_SEPARATOR: ディレクトリ区切り文字。 window では '' と '/' の両方を使用できますが、*nix では '/' のみを使用できます。
魔法の定数:
定数のように見えますが、実際には定数ではありません。これはマジック定数と呼ばれます。
__FILE__: 完全なファイル パスとファイル名。典型的なアプリケーション (プロジェクト コード) は次のとおりです。
define('ROOT_PATH',str_replace('7.php','',__FILE__));
エコー ROOT_PATH;
結果は同じです (__DIR__、この定数は PHP5.3 で新しく追加されました)
__FUNCTION__: 現在の関数名のマジック定数を取得します。
PHPベースの変換
PHP では、基本変換のために一連の関数が提供されています。
hex: 16 進数、dec: 10 進数、bin: 2 進数。
例: decbin() は 10 進数を 2 進数に変換し、octhex() は 8 進数を 16 進数に変換します。
整数の場合、値が大きくなりすぎるとオーバーフローすることはありませんが、型変換が発生して浮動小数点型に変換されます。
PHP は符号なし整数をサポートしていません。
のように:
$a = PHP_INT_MAX; //2147483648
$b = $a+1;
var_dump($b); //フロート
PHP では、float と double は実際には同じです。浮動小数点数の精度は 10 進数 14 桁で、最大値はプラットフォームに依存します (通常は 1.8e308)。浮動小数点数の比較は信頼できません。プログラムを作成するときは、2 つの浮動小数点数が等しいかどうかを比較してビジネス ロジックを取得しようとしないでください。
文字列の定義方法
文字列を定義するには、二重引用符、一重引用符、heredoc (区切り文字)、nowdoc (区切り文字) の 4 つの方法があります。
二重引用符は変数を解析できますが、一重引用符は変数を解析できません。一重引用符には二重引用符を含めることができ、二重引用符には一重引用符を含めることができますが、引用符自体に引用符を含めることはできません。
変数が解析できるかどうかは、その変数がどの変数に含まれるかによって決まります。二重引用符の場合、変数が解析されるかどうかは、定義文字列が一重引用符であるかどうかによって決まります。解析されません。
文字列内に {$ がつながっている場合、その中の {} が変数として解析されることを意味します。
変数が NULL とみなされる場合
1. NULL の値が割り当てられます
2. まだ値が割り当てられていません
3. unset()
最も一般的なアプリケーションの 1 つは、オブジェクトの値を NULL に割り当ててオブジェクトを破棄することです。
データ型関連関数
var_dump(): 型や値など、変数に関する詳細情報を出力します。
gettype(): タイプを取得します。
settype(): タイプを設定します。
isシリーズ:is_array()がよく使われます。
isset(): 変数が存在する(設定されている)かどうかを確認します。
empty() : 変数が空かどうかを確認します。
isset() の場合、宣言されている (値がある) 限り、その値が何であっても true を返します。
empty() の場合、ブール値 (変数) と等価であり、否定されます。
ブール値への変換は FALSE とみなされます
1.ブール値FALSEそのもの
2. 整数値 0 (ゼロ)
3. 浮動小数点値 0.0 (ゼロ)
4. 空の文字列と文字列「0」(「00」と「0.0」は TRUE とみなされます)
5. 空の配列
6.特殊型NULL(設定されていない変数も含む)
他のすべての値は TRUE とみなされます (オブジェクトとリソースを含む)。
PHPの動作ルール
除算演算の結果は、浮動小数点数または整数になる場合があります。
モジュロ演算では、小数がある場合、小数部分が削除されます。
モジュロ演算では、結果の符号は最初の数値によって異なります。
元のコード
10 進数を 2 進数に変換します。最上位ビットは符号ビットを表すために使用され、0 は正の数を表し、1 は負の数を表します。
逆コード
正の数の場合、補数コードは元のコードと同じです
負の数の場合、符号ビットは変更されず、他のビットは反転されます。
補体
正の数の場合、補数コードは元のコードと同じです。
負の数の場合は、補数に 1 を加えます。
シンボルはトランスコーディング中に変更されず、演算中にシンボル ビットが演算に参加します。
シフト操作
右シフト: 下位ビットはオーバーフローし、符号ビットは変更されず、上位ビットは符号ビットで完成します (2 の n 乗で除算して丸めることに相当します)。
左シフト: 上位ビットはオーバーフローし、符号ビットは変更されず、下位ビットは 0 で埋められます (2 の n 乗に相当)。
左シフトか右シフトかに関係なく、数値のサイズのみが変更され、符号は変更されないため、シフト演算中、符号ビットは変更されません。
PHP 演算子の優先順位
and or と && || の違い。
使い方は同じですが、優先順位が異なります。 && 、 || 、または
Break: 終了します。 Break が実行されると、loop ステートメント全体が直接終了します。
continue: 続行すると、現在のループ本体の実行が終了し、次のループ本体の実行が続行されます。
含めて要求する
include_path の値を設定します
set_include_path() 関数を使用します。
set_include_path('d:/php/test'); 次に、「file.php」を直接要求します。
注: 設定中、最後の設定は前の設定を上書きします。
現在の include_path 値を取得する
現在の include_path 値を取得するには、関数 get_include_path() を使用してください。
ディレクトリはセミコロンを使用して接続されます。
set_include_path('d:/php/test'.PATH_SEPARATOR.get_include_path());
PHP はソース ファイル単位でコードをコンパイルします。現在のファイルに構文エラーがある場合、PHP はエラーを報告します。コードのコンパイル処理は行われません。
require(require_once) と include(include_once) の違い
ファイルのロードが失敗すると、ファイルの依存関係が異なり、トリガーされるエラーに一貫性がありません。レベルが違います。
require(require_once): 致命的なエラーが発生し、スクリプトが終了します。
include(include_once): 警告エラーがトリガーされ、スクリプトは引き続き実行されます。
require(include) と require_once(include_once) の違い:
「once」は一度ロードすることを意味します。ロードするとき、once があるものは、まず現在のファイルがロードされているかどうかを判断します。
すでにロードされています: 再度ロードされません
ロードされていません: ロードを実行してください!
可能な限り require を使用してください。
スクリプトの実行を制御する
スクリプトの実行を終了し、スクリプトの実行を遅延します。
die()、exit(): スクリプトの実行を終了します。これが発生すると、スクリプトは直ちに終了し、すべての実行が終了します。終了する前に文字列を出力することもできます。
sleep(): スクリプトの実行を遅延させ、一定期間 (秒単位) 一時停止します。最大実行期間は 30 秒で、php.ini ファイルで設定できます max_execution_time = 30
パラメータ リスト内の一部のパラメータにはデフォルト値があり、一部にはデフォルト値がない場合、デフォルト値を持つパラメータは正式なパラメータ リストの後に配置されます。
func_get_args(): 関数内のすべての実パラメータを取得します。
$GLOBALS: 事前定義された変数
ユーザー データのスーパーグローバル化に特化した事前定義された変数。
他のスーパーグローバル変数とは異なります。
各グローバル変数は、$GLOBALS 内の要素に自動的に対応します。
グローバル変数を追加すると、同じ名前の要素が $GLOBALS! に自動的に追加されます。逆に!
$v1 = 10;
var_dump($GLOBALS['v1']);
$GLOBALS['v2'] = 20;
var_dump($GLOBALS['V2']);
グローバルの機能は、
ローカル変数を宣言し、それを同じ名前のグローバル変数への参照に初期化します。
匿名関数の役割
通常、匿名関数は一時関数として使用できます。たとえば、一部の内部関数では、操作を完了するために特定の関数を呼び出す必要があります。例: array_map(): Return array = array_map('function', array); 提供された関数を使用して、配列内のすべての要素を操作します。
パラメーターにコールバック (呼び出し可能) が必要な場合は、匿名関数を渡すことでこれが行われます。
PHP配列ポインタの問題
ポインタ関数
PHP には、ポインタが指す配列要素のキーと値を取得する機能があります。機能を利用する:
current()、現在の要素の値を取得します
key(): 現在の要素のキーを取得します。ポインタがすでに無効な場合は、NULL が返されます。要素が存在するかどうかを判断するために使用されます
ポインターを移動する機能も必要です。
next(): ポインタの移動を完了できます!
配列関数:
range(): 特定の範囲内の要素の配列を取得できます。
array_merge('$arr1','$arr2',...): 配列を結合し、複数の配列を結合します。
下付き文字が繰り返されるとどうなるでしょうか?
数値インデックス作成: 完全な再インデックス作成!
文字の添え字: 後で表示される要素の値は、前の要素の値を上書きします。
array_rand (配列, 数値): 配列から要素をランダムに取得し、添え字を取得します。複数ある場合は、ランダムな添え字のセットを返します。結果は小さいものから大きいものまで並べられています。
shuffle(&$arr): 配列内の要素の順序をシャッフルします。パラメータは参照によって渡されることに注意してください。元の配列が破壊されます。
キー値の操作:
array_keys(): すべてのキーを取得します。
array_values(): すべての値を取得します。
in_array(): 特定の値が存在するかどうか。
array_key_exists(): キーが存在するかどうか。
array_combine('key array', 'value array'): 2 つの配列を 1 つの配列にマージするために使用します。1 つはキーとして、もう 1 つは値として使用します。
array_fill('最初のインデックス値','数値','値'): 配列を埋めます。
Array = array_fill(開始インデックス、埋める要素の数、埋める値);
array_chunk(): 配列を分割します。原理はサブ配列内の要素の数です。
array_intersect($arr1, $arr2): 2 つの配列の交差を計算し、$arr1 に存在する要素と $arr2 にも存在する要素を見つけます。データは最初のパラメーターに表示されます。
array_diff($arr1, $arr2): 2 つの配列の差を計算します。 arr1 には存在するが arr2 には存在しない要素を見つけてください。
配列はスタックとキューをシミュレートします。
桟もqueueも代表的なデータ構造であり、どちらもリストリストの一種です。
スタックへのプッシュ: array_push() は、配列の最後にある配列にデータをプッシュします。
スタックからポップオフします: array_pop()、スタックの一番上に要素を出力します。
array_push() と array_pop() は、すべての要素が 0 から始まり 1 つずつ増加するようにインデックスを再作成します。
エンキュー: array_push()、配列の最後にある配列にデータをプッシュします。
デキュー: array_shift()、配列の先頭のデータを取り出します。
array_unshift() は、配列の先頭から配列にデータをプッシュできます。
配列ソート関数
並べ替え関数はすべて参照渡しです。
r:リバース、リバース。 a:協会、協会。 u: ユーザー、ユーザー定義。
sort('array'): キーと値の関連付けを維持せずに、値によって昇順に並べ替えます。
rsort('array'): キーと値の関連付けを維持せずに、値によって降順に並べ替えます。
asort('array'): キーと値の関連付けを維持しながら、値によって昇順に並べ替えます。
arsort('array'): キーと値の関連付けを維持しながら、値によって降順に並べ替えます。
ksort('array'): キーごとに昇順で、キーと値の関連付けを維持します。
krsort('array'): キーと値の関連付けを維持しながら、キーによって降順に並べ替えます。
natsort('array'): 自然数ソート。計算された自然数を使用してデータをソートできます。
usort('array'): カスタム並べ替え、要素間のユーザー定義のサイズ関係。ユーザーは 2 つの要素のサイズを比較する関数を提供し、要素のサイズ関係を PHP に伝えることができます。ユーザーが定義した関数は、2 つの要素間のサイズ関係を usort() に伝える役割を果たし、usort は関係を取得した後に並べ替えを完了する役割を担います。戻り値を使用して通知してください。
効果を昇順で返します:
最初の要素が小さいことを示す負の数を返します。
最初の要素が大きいことを示す正の数を返します。
等しいことを示す 0 を返します。
以上、PHP 構文の内容を含め、PHP の基本的な構文知識を紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。