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 =< ;引用符と二重引用符の違い 単一引用符は PHP の変数を解析できませんが、二重引用符は解析できます (変数の後に文字がある場合) {} を使用して区切ってください) JS 変数 内の単一引用符と二重引用符は解析できません。一重引用符とバックスラッシュ のみを翻訳できます。 . 二重引用符:
を除くすべての引用符を翻訳できます。
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
PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

PHPは死んでいません。 1)PHPコミュニティは、パフォーマンスとセキュリティの問題を積極的に解決し、PHP7.xはパフォーマンスを向上させます。 2)PHPは最新のWeb開発に適しており、大規模なWebサイトで広く使用されています。 3)PHPは学習しやすく、サーバーはうまく機能しますが、タイプシステムは静的言語ほど厳格ではありません。 4)PHPは、コンテンツ管理とeコマースの分野で依然として重要であり、エコシステムは進化し続けています。 5)OpcacheとAPCを介してパフォーマンスを最適化し、OOPと設計パターンを使用してコードの品質を向上させます。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトの要件に依存します。 1)PHPは、Web開発に適しており、学習しやすく、豊富なコミュニティリソースですが、構文は十分に近代的ではなく、パフォーマンスとセキュリティに注意を払う必要があります。 2)Pythonは、簡潔な構文と学習が簡単なデータサイエンスと機械学習に適していますが、実行速度とメモリ管理にはボトルネックがあります。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
