52. セッションストレージ
PHP パート
1. 仮想ホストを構成する方法は何通りありますか?
1 つの物理サーバー上で複数のサイトを実行/保守できます。ユーザーは、異なる IP またはドメイン名を使用してサイトにアクセスできます。
仮想ホストを構成するには、次の 2 つの方法があります。 🎜> IP アドレスに基づく構成 (複数のネットワーク カードによって実装)
ホスト名による仮想ホストに基づく構成 (1 つの IP にマッピングされた複数のドメイン名)
2. ライフ サイクルとはPHPスクリプトの?
3. PHP 変数の直接値転送と参照値転送
直接値転送: コピー値転送 $a = $b
参照値転送: ショートカット &$ a = $b
拡張子:
現実的なコピー: 値渡しまたは参照渡しの場合、システム内の 2 つの変数の値が同じ場合、メモリ領域を節約するため変数の 1 つが変更されるまで、システムは新しいメモリを開いて変数を保存します。これはリアル コピー
と呼ばれます。 4. PHP 変数の定義
は文字、アンダースコア、数字で構成されますが、数字で始めることはできません。
5 print_r() と var_dump() の違い。 echo
Echo: カンマで区切って複数の値を一度に出力できます。echo は実際の関数ではなく言語構造です。
Print_r: 文字列を結合でき、数値は単純に出力されます。 、配列はキーと値の括弧で囲まれたリストとして表示されます。
Var_dump: 文字列、配列、数値、オブジェクトを含む任意の変数を使用し、変数の型と長さを指定できます。この関数は、式のタイプや値など、1 つ以上の式に関する構造情報を表示します。配列は値を再帰的に展開し、インデント
6. 変数 unset();
7 を削除します。一度定義すると変更できなくなります。通常は変数を区別するために大文字が使用されます。
Definition: Define('PI','3.14') Access define('PI')
Definition: Const PI = 3.14 アクセス constent ('PI')
Defined() 特定の定数が存在するかどうかを確認します
8. システム事前定義変数
a) $_POST
b ) $ _Get
C) $ _RequestD) $ _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 =< ;<
を除くすべての引用符を翻訳できます。
12. 演算子
算術演算、比較、代入、リンク、エラー抑制、自己演算、三項演算子、
論理 && (通常、&& は 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
14. ループ制御
Continue: end このループでは、次のループを実行し続けます。また、パラメーターを使用して複数のレベルのループからジャンプすることもできます
Break: 現在のループ本体を終了し、ループ本体の下のコンテンツを継続して実行します。
タグ構文
の複数のレベルからジャンプすることができます。If foreach while
① :
?> > 🎜>① ソースコード読み込み à コンパイル à 字句解析 (解析エラー) à 構文解析 (解析エラー) à オペコードの生成 à オペコードの実行 (致命的エラー) à 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_null:
が空かどうか
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 同上24. ファイルパス
ディスクの絶対パス: D:/server/apache (サーバー側でのみ使用され、HTML には書き込めません)
ネットワークの絶対パス: http://localhost/ (サイトのルート ディレクトリから始めてどこでも使用できます)
./ 現在のディレクトリ
../ 上位ディレクトリ
/ Web サイトのルート ディレクトリ
絶対パスの方が正確 (__DIR__)、相対パスは効率的ですが間違っている可能性があります
25、配列
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:指定した間隔で乱数を取得
30. ブラウザの値の受け渡し
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
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
