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ベース変換
hex: 16 進数; dec: 10 進数; bin: 2 進数。
例: decbin() は 10 進数を 2 進数に変換し、octhex() は 8 進数を 16 進数に変換します。
整数の場合、値が大きくなりすぎるとオーバーフローすることはありませんが、型変換が発生して浮動小数点型に変換されます。
php は符号なし整数をサポートしていません。
例:
$a = PHP_INT_MAX; //2147483648
$b = $a+1;
var_dump($b); //float
PHPでは、float、doubleは実際には同じです。浮動小数点数の精度は 10 進数 14 桁で、最大値はプラットフォームに依存します (通常は 1.8e308)。浮動小数点数の比較は信頼できません。プログラムを作成するときは、2 つの浮動小数点数が等しいかどうかを比較してビジネス ロジックを取得しようとしないでください。
文字列の定義方法
二重引用符は変数を解析できますが、一重引用符は変数を解析できません。一重引用符には二重引用符を含めることができ、二重引用符には一重引用符を含めることができますが、引用符自体に引用符を含めることはできません。
変数が解析できるかどうかは、その変数がどの変数に含まれるかによって決まります。二重引用符の場合は変数が解析されます。 、解析されません。
文字列内で {$ がつながっている場合、{} が変数として解析されることを意味します。
変数がNULLとみなされる場合
2. まだ割り当てられていません
3. 未設定です()
最も一般的なアプリケーションの 1 つは、オブジェクトの値を NULL に代入してオブジェクトを破棄することです。
データ型関連関数
var_dump(): 型と値を含む変数の詳細を出力します。
gettype():型を取得します。
settype():タイプを設定します。
isシリーズ: その中でもis_array()は頻繁に使用されます。
isset(): 変数が存在する(設定されている)かどうかを確認します。
empty() : 変数が空かどうかを確認します。
isset() の場合、宣言されている (値がある) 限り、その値が何であっても true を返します。empty() の場合、ブール値 (変数) と同等であり、否定されます。
ブール値への変換は FALSE とみなされます
2.整数値0(ゼロ)
3. 浮動小数点値 0.0 (ゼロ)
4. 空の文字列と文字列「0」(「00」と「0.0」はTRUEとみなされます)
5. 空の配列
6.特殊型NULL(未設定の変数を含む)
他のすべての値は TRUE とみなされます (オブジェクトとリソースを含む)。
除算演算の結果は、浮動小数点数または整数になる場合があります。
モジュロ演算では、小数点がある場合、小数点部分が削除されます。
モジュロ演算では、結果の符号は最初の数値によって異なります。
10進数を2進数に変換します。最上位ビットは符号ビットを表すために使用され、0 は正の数を表し、1 は負の数を表します。
正の数の場合、補数コードは元のコードと同じです
負の数の場合、符号ビットは変更されず、他のビットは反転されます。
正の数の場合、補数コードは元のコードと同じです
負の数の場合は、補数に基づいて + 1 を加算します。
シンボルはトランスコーディング中に変更されず、演算中にシンボルビットが演算に参加します。
右シフト: 下位ビットはオーバーフローし、符号ビットは変更されず、上位ビットは符号ビットで完成します (2 の n 乗で除算して丸めることに相当)
左シフト: 上位ビットはオーバーフローし、符号ビットは変更されず、下位ビットは 0 で埋められます (2 の n 乗に相当)
左シフトでも右シフトでも、数値のサイズのみが変更され、符号は変更されないため、シフト演算中、符号ビットは変更されません。
and or と && || の違い。
使い方は同じですが、優先順位が異なります。 && 、 || > または
break: 終了します。break が実行されると、loop ステートメント全体が直接終了します。
Continue: 続行すると、現在のループ本体の実行が終了し、次のループ本体の実行が続行されます。
含めて必須にする
set_include_path('d:/php/test'); 次に、'file.php'を直接要求します、
注意: 設定する場合、後で設定したものは以前に設定したものを上書きします。
現在の 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 は 1 回ロードすることを意味します。ロードするとき、once があるものは、まず現在のファイルがロードされているかどうかを判断します。
すでにロードされています: 再度ロードされません
ロードしていません: ロードを実行してください!
できるだけ requireを使用してください。 スクリプト実行の制御
、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 には、ポインタが指す配列要素のキーと値を取得する機能があります。活用機能:
current()、現在の要素の値を取得します
key(): 現在の要素のキーを取得します。ポインタがすでに無効な場合は、NULL が返されます。要素が存在するかどうかを判断するために使用されます
次の機能も必要です: ポインタを移動する機能!
next(): ポインタの移動が完了しました!
range(): 特定の範囲内の要素の配列を取得できます。
array_merge('$arr1','$arr2',...): 配列のマージ、複数の配列をマージします。
下付き文字が繰り返されるとどうなりますか?
数値インデックス: 完全に再インデックスされました!
文字添え字: の後に現れる要素値は、前の要素値を上書きします。
array_rand(array,number): 配列から要素をランダムに取得し、添え字を取得します!複数ある場合は、ランダムな添え字のセットを返します。結果は小さいものから大きいものまで並べられています。
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 には存在しない要素を見つけてください。
桟とキューはどちらも典型的なデータ構造であり、どちらもリストの一種です。
スタックにプッシュ: array_push()、配列の最後にある配列にデータをプッシュします。
スタックからポップ: array_pop()、スタックの一番上に要素を出力します。
array_push() と array_pop() は、すべての要素が 0 から始まり 1 つずつ増加するようにインデックスを再作成します。
エンキュー: array_push()、配列の最後にある配列にデータをプッシュします。
デキュー: array_shift()、配列の先頭にあるデータを取り出します。
array_unshift() は配列の先頭からデータを配列にプッシュできます。
並べ替え関数はすべて参照によって渡されます!
r: 逆、逆。 a: 協会、協会。 u: ユーザー、ユーザー定義。
並べ替え rsort('array')
: キーと値の関連付けを維持せずに、値で降順に並べ替えます。 asort('array')
: キーと値の関連付けを維持しながら、値によって昇順に並べ替えます。 arsort('array')
: キーと値の関連付けを維持しながら、値によって降順に並べ替えます。ksort('array'): キーと値の関連付けを維持しながら、キーで昇順に並べ替えます。
krsort('array'): キーと値の関連付けを維持しながら、キーによって降順に並べ替えます。
natsort('array'): 自然数ソート、計算された自然数を使用してデータをソートできます。
usort('array'): カスタム並べ替え、要素間のユーザー定義のサイズ関係。ユーザーは 2 つの要素のサイズを比較する関数を提供し、要素のサイズ関係を PHP に伝えることができます。ユーザーが定義した関数は、2 つの要素間のサイズ関係を usort() に伝える役割を果たし、usort は関係を取得した後でソートを完了する役割を担います。戻り値を使用して通知してください。
効果を昇順で返す:
最初の要素が小さいことを示す負の数値を返します。
最初の要素が大きいことを示す正の数値を返します等しいことを示す 0 を返します。 。