PHP パート
1 つの物理サーバー上で複数のサイトを実行/保守できます。ユーザーは、異なる IP またはドメイン名を使用してサイトにアクセスできます。
仮想ホストを構成するには、次の 2 つの方法があります。 🎜> IP アドレスに基づく構成 (複数のネットワーク カードによって実装)
ホスト名による仮想ホストに基づく構成 (1 つの IP にマッピングされた複数のドメイン名)
2. ライフ サイクルとはPHPスクリプトの?
参照値転送: ショートカット &$ a = $b
拡張子:
現実的なコピー: 値渡しまたは参照渡しの場合、システム内の 2 つの変数の値が同じ場合、メモリ領域を節約するため変数の 1 つが変更されるまで、システムは新しいメモリを開いて変数を保存します。これはリアル コピー
と呼ばれます。 4. PHP 変数の定義
5 print_r() と var_dump() の違い。 echo
Print_r: 文字列を結合でき、数値は単純に出力されます。 、配列はキーと値の括弧で囲まれたリストとして表示されます。
Var_dump: 文字列、配列、数値、オブジェクトを含む任意の変数を使用し、変数の型と長さを指定できます。この関数は、式のタイプや値など、1 つ以上の式に関する構造情報を表示します。配列は値を再帰的に展開し、インデント
6. 変数 unset();
Definition: Const PI = 3.14 アクセス constent ('PI')
Defined() 特定の定数が存在するかどうかを確認します
8. システム事前定義変数
a) $_POST
D) $ _Server
E) $ _Session
F) ) $ GLOBALS // 変数全体的な状況で使用される変数を格納するために特に使用されます
H) $ _Files ['FILENAME'] // & LT; input Type = "File" name = 'FILENAME'/& GT;/
9. システム定数a) PHP_OS サーバーの動作環境を確認しますb) PHP_VERSION php のバージョン情報を確認しますc) PHP_INT_SIZE 基本的な内容を確認しますphp のパラメーター ストレージ ユニット 1bety=8 ビット 255 中ステータス d) PHP_INT_MAX php の最大の整数を表示 e) __FIFE__ 現在のファイルの絶対パス (ファイル名を含む) f) __LINE__ 現在の行番号を取得 g) __DIR__ 現在のファイルの絶対パス(ファイル名を除く) h) __FUNCTION__ 関数名を取得 10. PHP データ型 1) スカラーデータ型: 整数型: 4 バイトの格納値、最大整数型を超える場合は自動的に浮動小数点型に変換されます。 point 型 浮動小数点型: float: 単精度の精度は約 7 桁、値は 10^32 Double: 倍精度は約 15 桁、値は 10^308 ブール型 文字列型 2) 複合データ型: 配列、オブジェクト 区切り文字 $str =< ;<
を除くすべての引用符を翻訳できます。
算術演算、比較、代入、リンク、エラー抑制、自己演算、三項演算子、
論理 && (通常、&& は Or になります。前にある || は true (より効率的です)
ビット単位の演算
&: ビット単位の AND、同じ値が 1 の場合、1
|:ビット単位の OR、1 があれば 1
~: ビット単位の否定、0 は 1 になり、1 は 0 になります
^: ビット単位の OR、同じであれば、 0、異なる場合は 1
>分岐構造: if と switch 構造
ループ構造: for foreach (JS for...in...) while do ..while
Continue: end このループでは、次のループを実行し続けます。また、パラメーターを使用して複数のレベルのループからジャンプすることもできます
Break: 現在のループ本体を終了し、ループ本体の下のコンテンツを継続して実行します。
タグ構文
の複数のレベルからジャンプすることができます。① :
?> > 🎜>① ソースコード読み込み à コンパイル à 字句解析 (解析エラー) à 構文解析 (解析エラー) à オペコードの生成 à オペコードの実行 (致命的エラー) à HTML コード
に渡されたパラメーターを処理します。
# 関数名は大文字と小文字を区別しません関数のスコープ: グローバルとローカルは関数によって制限されます
グローバルへのローカル アクセス: 参照渡し、$GLOBALS (スーパーグローバルの事前定義済み)変数)、グローバル キーワード ローカルへのグローバル アクセス: グローバル キーワード、return 戻り値$GLOBAL スーパーグローバル事前定義変数、変数はどこでも使用でき、変数の値は変更可能グローバル キーワードは関数内に変数を導入することしかできず、値を代入することは基本的に関数内にローカル変数を作成することになり、メモリ アドレスが外部変数のアドレスを指すようになります。外部変数はありません。自分で作成します 18. 静的変数 一度初期化され (コンパイルされ、コードセグメントに保存されます)、通常は再帰とペアになります 19、疑似型 数値 混合コールバック void20、データ型変換False 0 0.0 '' null array() オブジェクト à はすべて false(int) (bool) (float) (string) (array) (object)21. データ型の判定is_bool: データ型がブール型であるかどうかを判定します。 is_float: データが浮動小数点型かどうか判定is_integer: 整数判定is_object: オブジェクト判定is_array: 配列判定
is_string: 文字列判定is_resource: リソース判定is_scalar: スカラー判定: 整数、浮動小数点、ブール、文字列型すべて判定可能
が空かどうか
is_numeric:
数値型判定(
純粋な数値列)
Gettype: データのデータ型を取得します: 返された文字列の説明Settype: データのデータ型を変更します (データ自体を変更します: 永続的)22. 空と未定義の違いEmpty は変数が空かどうかをチェックします
つまり、""、0、"0"、NULL、FALSE、array() 、 var $var、未定義; var の場合、属性のないオブジェクトは空とみなされます。 空の場合、TRUE を返しますIsset 変数が設定されているかどうかを確認します 変数が存在する場合 (そうでない場合) NULL)、TRUE を返します拡張子:
Null つまり、存在しないオブジェクトのプレースホルダーです未定義 変数は宣言されていますが、代入がありませんNaN は数値ではありません23。ファイルには意味: ページ レイアウト、コードの再利用 上方包含: 通常は構造体 (クラスと関数) を使用します。 ) 他のスクリプト内 下向きインクルード: 通常は現在のスクリプトのデータ用 対応する HTML に表示 include と require の違い: ファイルをインクルードする際のエラー処理に対する態度が異なります include はインクルードを試みるだけで警告が表示されますが、後続のコードは引き続き実行されます。要件はインクルードを強制することであり、致命的なエラーが発生し、後続のコードは実行を継続しませんinclude_once は 1 回だけインクルードされ、include は実行時に 1 回インクルードされます require_once 同上ディスクの絶対パス: D:/server/apache (サーバー側でのみ使用され、HTML には書き込めません)
ネットワークの絶対パス: http://localhost/ (サイトのルート ディレクトリから始めてどこでも使用できます)
./ 現在のディレクトリ
../ 上位ディレクトリ
/ Web サイトのルート ディレクトリ
絶対パスの方が正確 (__DIR__)、相対パスは効率的ですが間違っている可能性があります
1) 配列を定義する 3 つの方法:
$arr = array();
$arr = null; arr[] = 1;
2) 配列の分類:
インデックス配列、連想配列、混合配列 (すべて添字で区別)
3) count($ arr ) 関数: 配列
内のすべての要素をクエリします。 4) 配列の走査
for(): インデックス配列のみを走査できます。
foreach(): すべての要素を走査できます。 array は配列内の配列ポインタを使用します
5) Each(): 配列ポインタを通じて配列要素を取得する関数。これにより、
現在の 配列ポインタ と 値の両方を取得できます (配列のポインタはちょうど添え字 0 にあります)。データのセットは、4 つの要素 (1 と値) を持つ配列であるアソシエーションとインデックスの形式で返されます。値を保存します。 0 と key キー名を保存します。each() は、配列に一度アクセスした後、ポインターが 1 ビット下に移動します。配列の場合、 false を返します。 Each() は、現在の Where が配列のポインタであることを証明できます
6) List(): リスト関数は、バッチで変数に値を割り当てることができます リスト (変数リスト) = 配列; 通常、リストは配列を走査するためにそれぞれとともに使用されます 7) 配列関連関数 key: 現在の配列ポインターが指すキー名を取得しますCurrent: 現在の配列ポインターが指すキー値を取得しますNext: 現在のポインターの次の要素の値を取得し、ポインターを次の配列要素に移動しますPrev: 現在のポインタの前の要素の値を取得し、ポインタを前の配列要素に移動しますend: 配列の最後の要素を取得し、ポインタを最後の要素に移動しますreset: リセット、配列ポインタを最初の要素に移動します next または prev では削除された配列のポインタを元に戻すことはできません end とリセットではポインタを元に戻すことができます array_keys: 配列のすべての添え字 (キー名) を取得し、インデックス配列を返しますarray_values: 配列のすべての値を取得し、インデックス配列を返します26. データ構造シミュレーションデータ構造:データ格納方式共通データ構造:スタック(先入れ後出し)キュー(先入れ先出し) Array_push 配列の後ろに要素を追加します array_pop 配列の後ろから要素をポップします array_shift From 配列の前に要素をポップします array_unshift 追加配列の先頭からの要素 27. 配列文字列の変換 explode(',',$str) 文字列は次のように展開されます。特定の方法で配列 implode('-',$arr) 配列は特定の方法で文字列に組み込まれます 28. 配列の合計演算 1)加算演算: インデックスと関連付けを区別しません。 演算方法: 最初の配列のすべての要素を保持し、2 番目の配列の要素を検索します。同じ添字が存在する場合、それは無視されます。存在しない場合は追加します 2) array_merge(): まず最初の配列のすべての要素を保持しようとし、2 番目の配列で同じ添え字 (インデックス) が存在する場合は、次のようにします。前の要素が存在しない場合は、最初の要素を保持します。後でインデックスの添字に対応する要素があれば、それを最初の配列の末尾に直接追加し、インデックス をリセットします。配列検証コード 1) range 関数を使用して、指定された範囲内の乱数 range(0,9)、range(a,z)、range(A,Z) を取得します 2) 配列 array_range() をマージします 3) array_rand($array,$num) 関数を通じてランダムな添え字を取得します4) shuffle() を使用して添え字を中断します5) 添え字を走査して、マージされた配列 から検証コードを取得します。29. システム関数
1) Strlen( $str): 文字列を取得 文字列の長さ
2)Substr($str, 開始点, 終了点) 指定範囲内の文字列を取得します。終了点が指定されていない場合は、 end3)Strto lower($str): すべての文字列を小文字にする 4)Strtoupper($str): すべての文字列を大文字にする5)Strrev($str):reverse文字列を反転します6) Strpos: 指定した文字の位置を取得します 7) Strrpos: 文字列の右からの位置を取得します 8) Strchr ( $str, '|') 一致した文字列を最後まで (左から右へ) 切り取ります
9) Strrchr($str,'.') は、一致する場所から文字列をインターセプトします (後ろから前へ)
10) Trim() は、文字列の両側にあるスペースまたは指定された文字を削除します
11) str_repeat: 指定した文字列を繰り返し出力します
日時関数
1) time(): 現在時刻のタイムスタンプを取得します
2) Date(): タイムスタンプを日付に変換します
Date('Y-m-d H:i:s') 現在の日付を取得します
Date('Y-m-d H:i:s',time()) 同上
Strtotime(): 文字列をタイムスタンプに変換
Microtime(): マイクロ秒を取得
数学関連関数
Abs: 絶対値を取得
Floor: 切り捨て
Ceil: 切り上げ
Round:切り上げ
Rand:指定した間隔で乱数を取得
mt_rand:指定した間隔で乱数を取得
1) ブラウザの値の受け渡しには 2 つの方法があります: get と post、つまり URL とフォームの値の受け渡し
2) URL 構成: http :// (http プロトコル) localhost: 80 (ホスト) URI (Uniform Resource Location)
3) フォームで渡される値は name 属性名で区別され、同じ名前が出現すると上書きされます
4 )$_REQUERST: 安全ではありません。post および get データは、array_merge() 関数によってマージされます。同じ名前の関数が出現すると、上書きされます。php.ini の request_order オプションは、上書きの順序を表します。 🎜>
31. ファイルのアップロード ファイルのアップロードは 2 つの部分に分かれています: クライアントのアップロードとサーバーの受信1) サーバーはファイルを受信する必要があります: php.ini file_uploads でファイルのアップロードを有効にします= on2) ファイルアップロード用の一時ファイル保存ディレクトリを変更します: Upload_tmp_dir =3) 大きなファイルは郵送で配送する必要があるため、送信方法は post4) フォーム フィールドを使用して、ここでの名前の値は、$_FILE['upfile']5) を通じて受信されます。 get および post によって送信されるデータは、デフォルトでは文字列型であり、ファイルがアップロードされるときはバイナリ形式になります。そのため、バイナリ データの送信に post を使用する場合は、送信データ型を binary