PHP関連の知識

学習目標:PHP言語

学習目標:

1. php言語を学び、一般的に使用される関数とそのパラメーターを要約します
。2。echo、print、var_dumpの類似点と相違点を比較します。3。bash
とshellを理解します。

学習内容:

1.phpの概要
1.phpの定義:「ハイパーテキストプリプロセッサ」は、サーバー側で実行されるスクリプト/プログラミング言語であり、特にWeb開発に適しており、HTMLに埋め込まれています。PHP構文は、C、Java、およびPerlを利用します。この言語の主な目的は、Web開発者が動的なWebページをすばやく作成できるようにすることです。
2. phpの使用:動的Webサイト開発
2. Webサイト
1.静的Webサイト
静的Webサイトのコンテンツは比較的安定しているため、検索エンジンで簡単に取得できます
。②Webサイトはより安全で、HTMLページはAspの影響を受けません。関連する脆弱性;そしてそれは攻撃を減らすことができ、SQLインジェクションを防ぎます。データベースエラーが発生しても、ウェブサイトへの通常のアクセスには影響しません
。③サーバーへの負担と作業負荷が軽減され、データベースのコストも削減されます
。④静的なウェブページの双方向性が低く、制限が大きくなります。機能の面で。
2.動的ウェブサイト
①動的ウェブサイトとは、アニメーション機能を備えたウェブサイトではなく、状況に応じてコンテンツを動的に変更できるウェブサイトを指します。一般的に、動的ウェブサイトはデータベースで構成されています
。②動的ウェブサイトはインタラクティブを実現できます。ユーザー登録、情報公開、商品表示、注文管理などの
機能。③動的Webページにはサーバー側のスクリプトが含まれているため、ページファイル名の接尾辞としてasp、jsp、phpなどが付いていることが多い。ただし、URL静的テクノロジを使用して、WebページのサフィックスをHTMLとして表示することもできます。したがって、ページファイルのサフィックスは、Webサイトの動的および静的を判断するための唯一の基準として使用することはできません
。④動的WebページのURLに記号記号があります-「?」。
3.ウェブサイトの基本コンセプト
①サーバー:
<1>サーバーはサーバーとも呼ばれ、コンピューターサービスを提供するデバイスです。サーバーはサービス要求に応答してそれらを処理する必要があるため、一般に、サーバーはサービスを引き受けて保証する機能を備えている必要があります。
<2>サーバーの構成には、プロセッサ、ハードディスク、メモリ、システムバスなどが含まれ、一般的なコンピュータアーキテクチャと似ていますが、信頼性の高いサービスを提供する必要があるため、処理能力、安定性の観点からです。 、信頼性、セキュリティ、およびスケーラビリティ。、管理性およびその他の側面には、より高い要件があります。
<3>ネットワーク環境では、サーバーが提供するさまざまなタイプのサーバーに応じて、ファイルサーバー、データベースサーバー、アプリケーションサーバーに分けられます。およびWEBサーバー。
②IPの概念:インターネットプロトコル、ネットワーク間の相互接続プロトコル。ネットワーク間の相互接続のプロトコルは、コンピュータネットワーク間の通信用に設計されたプロトコルでもあります。
③ドメイン名は、ドットで区切られた一連の名前(www.itcast.cn)で構成されるインターネット上のコンピューターまたはコンピューターグループの名前であり、データ送信中にコンピューターの電子的な場所を識別するために使用されます。
例:IP:127.0。 0.1ドメイン名:localhost④DNS
:(ドメインネームシステム、ドメインネームシステム)、ドメイン名とIPアドレスを相互にマッピングする分散データベースとしてのインターネット上で、ユーザーがより便利にインターネットにアクセスできるようにします。
ドメイン名の解決:ユーザーがドメイン名を入力すると、DNSはドメイン名をIPに変換してサーバーを検索します。
4. Webプログラムアクセスプロセス
ここに画像の説明を挿入
①ユーザーはブラウザのアドレスバーにリクエストURLを入力して、リクエストを開始します。
②DNSサーバーを介してIPアドレスを解決し、対応するホストを見つけます。
③スクリプトの種類によると:
.htmlで終わるファイルの場合は、直接ブラウザに返されます。
.phpで終わるファイルの場合は、最初にPHPスクリプトを実行する必要があります。
さらに、PHPスクリプトの実行中に、データ情報を取得するためにデータベースに接続する必要がある場合があります。
すべてのコードが実行された後、Apacheは実行結果をブラウザに送信して表示します。
3、phpの基本
1.予備のphp構文:phpはサーバー上で実行されるスクリプト言語であり、HTMLに埋め込むことができます。
2. PHPコードタグ:スクリプトタグ:<script language = "php> phpコード
標準タグ:<?php phpコード?>
3. PHPコメント:
①行コメント:一度に1行ずつコメント//
②ブロックコメント:コメント一度に複数行/ *中央から* /まで
4.PHPステートメントセパレーター
ステートメントセパレーター:PHPでは、コードは行の終わりを行単位システムで渡す必要があります。通常、終わりは記号です:セミコロン ";" (英語のセミコロン)
特別な指示: 1。PHP
のタグ終了文字?>にはステートメント終了文字の効果があり、PHPコードの最後の行にステートメント終了文字を含めることはできません;
2.実際、PHPの多くのコードHTMLに埋め込まれていません。単独で存在しますか。通常、書き込みの習慣にタグ終了文字を使用することはお勧めしませんか?>
ここに画像の説明を挿入
ここに画像の説明を挿入
5.可変
PHPは、動的Webサイト開発用のスクリプト言語です。動的言語は、対話性とデータ送信によって特徴付けられます。 PHPは「仲介者」として機能します。データを転送する必要がある場合、転送の前提は、PHPがデータを単独で保存できることです(一時ストレージ)
①変数はデータの保存に使用されます;
②変数には名前があります;
③変数は名前でアクセスされます;
④変数は変更
.6、変数の使用
①定義:システム内の(メモリ)に対応する変数名を増やす
②割り当て:データ変数名で変数名にデータを割り当てることができる(同じ定義で行うことができる)
③アクセスするデータ変数名保存された
缶④変数メモリから削除します。
ここに画像の説明を挿入

7.変数の命名規則
①PHPの変数名は「$」記号で始まる必要があります;
②名前は文字、数字、アンダースコア「_」で構成されますが、数字で始めることはできません;
③中国の変数はPHP自体で許可されます(推奨されません) )。
8.事前定義された変数
事前定義された変数:事前定義された変数、システム定義された変数、使用する必要のある多くのデータを格納します(事前定義された変数は配列です)
$ _GET:フォームによって送信されたすべてのデータを取得しますby get
$ _POST:POST送信されたデータはこの
$ _REQUEST:GETに保存され、POST送信は保存されます
$ GLOBALS:PHPのすべてのグローバル変数
$ _SERVER:サーバー情報
$ _SESSION:セッションセッションデータ
$ _COOKIE:cookieセッションデータ
$ _ENV:環境情報

9.変数変数
変数変数:1つの変数の値が別の変数の名前だけである場合、1つの変数に直接アクセスして、別の変数の値を取得できます。変数の前に$記号を追加します。
$ a = 'b';
$ b = 'bb';
$$ a-> bb
ここに画像の説明を挿入
10.変数パス値
①定義:1つの変数を別の変数に割り当てます:変数パス値

②変数値転送には、値転送、参照転送
<1>値転送の2つの方法があります。保存した変数に値を割り当ててから、新しい値を別の変数に保存します(2つの変数は関係ありません)
ここに画像の説明を挿入
<2>パスバイ参照:変数の値が格納されているメモリアドレスを別の変数に渡します:2つの変数が同じメモリ空間を指します(2つの変数は同じ値を持ちます)
$ new variable =&$ old variable;(&address symbol)
ここに画像の説明を挿入

11.メモリ
メモリには通常、次のパーティションがあります。
スタック領域:プログラムが操作できるメモリの部分(データは保存されず、プログラムコードが実行されます)、および小さいが高速な
コードセグメント:保存されたプログラムのメモリ部分(コードは実行せずにコードのみが保存されます))
データセグメント:共通データ(グローバル領域と静的領域)を
保存しますヒープ領域:複雑なデータを保存します。大きいが効率は低くなります。12
定数
①基本概念
定数の:定数定数/定数、プログラム操作中に変更できない数量(データ)
定数を定義すると、通常はデータを変更できません(ユーザーレベル)
②定数定義形式
PHPで定数を定義する方法は2つあります(のみ5.3の後の2)
<1>定数を定義する関数を使用します:define( '定数名'、定数値);
<2> 5.3の後のみ:定数定数名=値;
③定数名の命名規則
<1>定数はしません「$」記号を使用する必要があります。使用すると、システムはそれを変数と見なします。
<2>定数の名前は文字、数字、下線で構成され、数字で始めることはできません。
<3>定数の名前は通常大文字です(変数と区別するため)。
<4>(2番目のポイントは正確ではありません:)定数の命名規則は変数よりも緩く、いくつかの特殊文字を使用できます。これはメソッドはdefineを使用して
定数を定義することしかできません。値は定義時に割り当てる必要があります
。13。システム定数
システム定数:システムによって定義された定数はユーザーを支援し、ユーザーは直接使用できます。

一般的に使用されるいくつかのシステム定数
PHP_VERSION:PHPバージョン番号
PHP_INT_SIZE:整数サイズ。(1バイト8ビット。32ビット4バイト、64ビット8バイト)
PHP_INT_MAX:整数が表すことができる最大値(PHPの整数は負の数を表示できます:符号付き)
14、データ型
①定義:データ型:データタイプは、PHPでは、変数のタイプではなく、格納されているデータ自体のタイプを指します。PHPは弱い型の言語であり、変数自体にはデータ型がありません。
②分類:
単純(基本)データ型:4サブカテゴリ
<1>整数型:int / integer、整数型(前提条件あり)を示す4バイトを格納に割り当てます
<2>浮動小数点型:float / double、システムは8バイトを格納に割り当て、10進数または整数を格納できないことを示します(格納できない32ビット整数など)
<3>文字列タイプ:文字列、システムは実際の長さに応じて割り当て、文字列(引用符)
<4>ブール型:bool / boolean、これはブール型を意味し、trueとfalseの2つの値のみ

複合データ型:2つの小さなクラス
<5>オブジェクト型:オブジェクト、ストレージオブジェクト(オブジェクト指向)
<6>配列型:配列、ストレージ複数データ(1回限り)

特殊なデータ型:2つのサブカテゴリ
<7>リソースタイプ:リソース、リソースデータの格納(データベース、ファイルなどのPHP外部データ)
<8>空のタイプ:NULL、1つの値のみがNULL(計算できません)
15。タイプ変換
①定義:タイプ変換:多くの場合、指定したデータ型をターゲットデータ型に変換する必要があり、外部データ(PHPで取得したデータ)が必要です。PHPの
変換方法には、次の2種類があります
。②分類<1 >自動変換:システムは必要に応じて自分自身を判断して変換します(より使用されると、システムは必要なタイプを自分で判断し、効率は低くなります)
<2>強制(手動)変換:次のように変換されたと見なされます必要なターゲットタイプ。
強制変換ルール:変数の前にブラケット()を追加し、対応するタイプを書き込みます:int / integer ....その中で、NULLタイプはunset()を使用します。
変換プロセスでは、よりよく使用されるのは、ブール型への変換(判断)と数値型への変換(算術演算)
です。他の型からブール型への変換:trueまたはfalse。PHPでは、falseになる型は少なくなります。
説明:値を変換する他の型の説明
1 )ブール値trueは1、falseは0;
2)文字列変換値には独自のルールがあります
3)文字で始まる文字列は常に0です;
4)数字で始まる文字文字列は文字列に遭遇するまで取得されます(同時に2つの小数点は含まれません)
16。演算子
①割り当て操作:記号は「=」です。これは、右側の結果(変数、データ、定数、その他の計算の結果である可能性があります)を意味します。はメモリ内の特定の場所に保存され、その場所のメモリアドレスが左側の変数(定数)に割り当てられます。
②算術演算:基本的な算術演算
+:データ蓄積を実行します
-:データ減算
:キーボードに乗算記号がありません。代わりに使用してください。2つの数値を乗算してください。/
:代わりにスラッシュを使用して、2つの数値を除算することを意味します。
%:残り(モジュロ)操作、2つの数値の除算(整数)、予約残
除算または残
差演算を実行する場合、対応する除数(2番目の数値)を0にすることはできません。③比較演算:2つのデータのサイズを比較するか、2つの内容が同じであるかどうか、返される結果はブール型です。満たされていない場合はfalse

:左が右より大きく、戻り結果はtrue
=:左が右以上
<:左が右より小さい
<=:左が右以下
= =:左は右と同じ(同じサイズ)
!=:左は右とは異なる(異なるサイズ)
===:すべて等しい、左側は右側と同じ:サイズとデータ型は同じである必要があります
ここに画像の説明を挿入
ここに画像の説明を挿入

④論理演算:異なる結果に一致します。条件が満たされた場合はtrueを返し、満たされていない場合はfalseを返します
&& and and:論理AND、左側の条件と右側の条件が同時に確立されます(両側の結果はtrueです)
||とまたは:論理OR、左側または右側の条件が1つだけあります。満たすだけ
です。:論理否定、既存の条件を反転、true、反転の結果はfalse
ここに画像の説明を挿入
論理AND論理または短絡演算:最初の式の結果が条件を満たしている場合、実行されない論理の後の式演算子:コードを書くときは、最初に発生の可能性が最も高い(結果を直接決定できる)式を配置して、操作の効率を向上させます。17
、接続演算子
接続操作:PHPの記号複数の文字列を連結する場合
。:2つの文字列を接続します
。=:複合演算、左側のコンテンツを右側のコンテンツに接続してから、左側の変数
Aに再割り当てします。=b⇔A=A。b
ここに画像の説明を挿入
18.自己操作演算子
自己操作:独自の演算子を操作します
++:
元の値で+1 –:元の値で-1

$ a = 1;
$ a ++; // $ a = $ a + 1;

PHPでは、自己演算子は変数の前または後に配置できます。自己操作前および自己操作後
$ a = 1;
a + +; + + a ++; ++A++ ;+ + a; //前部または後部に自己操作のみがあり、他の操作に参加しない(同時に自己操作)場合、効果は同じです。ただし、自己操作が他の操作にも関与している場合、効果は異なり
ます
$ a =1;$ b =a + +; / / a ++; //A++ ;/ / A ++原因$ A = A + $ 1;。= 2以上のA = 2;、;、上記A=2 ;表面B. 1 =
C = C = ++ + +c=+ + a; // ++aはaを引き起こしますaa = $a + 1; a = 2 ; , a = 2;, A=2 ; c = 2;

自己操作後:最初に保存した値を保存してから自分自身を変更します。他の人に与える値は元の値です。
自己操作前:最初に自分自身を変更し、次に変更した値を
c言語に与えます。
一般的に使用される機能の概要19
1出力機能
プリント():エコー出力によって提供されるコンテンツと同様に、それは本質的に構造(機能しない)であり、そして1を返し、括弧を使用せず(それは構造ではないのでa function)
print_r(): var_dumpに似ていますが、var_dumpよりも単純で、データの型を出力せず、値(配列印刷がより多く使用されます)

とvar_dump()のみが変数の型と長さを判断します。変数の値を出力します。変数にValueがある場合、出力は変数の値であり、データ型が返されます。
echo関数は実際には関数ではなく、複数の変数を連続して出力できますが、printは一度に1つしか出力できません
。2。時間関連関数
ここに画像の説明を挿入
date():指定された形式に従って、対応するタイムスタンプ(1970年から計算)グリニッジ標準時)秒)を対応する形式に変換します。特定のタイムスタンプが指定されていない場合、現在のタイムスタンプがデフォルトで解釈されます。time():
現在の時刻に対応するタイムスタンプを取得します
。microtime():時刻をマイクロ秒単位で取得します。
ここに画像の説明を挿入

3.数学関数
max():パラメーター
min()で最大値を指定します:2つの数値の小さい方の値を比較します
rand():指定された間隔でランダムな数値とランダムな整数を取得します
mt_rand():randと同じ、ただし、基になる構造が異なり、効率はrandよりも高くなります(推奨)
round():丸める
ceil ():切り上げる
floor():
切り下げるpow():指定された数値の指定された指数を見つける結果: pow(2,8)== 2 ^ 8 == 256
abs():絶対値
sqrt():平方根を求めます
4.関連関数の
関数function_exists():指定された関数名がメモリに存在するかどうかを判別します(ヘルプ使用しないユーザー存在しない関数はコードをより安全にします)
func_get_arg():カスタム関数で指定された値に対応するパラメーターを取得します-実際のパラメーター位置
func_get_args():カスタム関数ですべてのパラメーター(配列)を取得します-
-すべての実際のパラメーターfunc_num_args():現在のカスタム関数のパラメーターの数を取得します-実際のパラメーターの数
ここに画像の説明を挿入
5.文字列関連関数
1)変換関数:implode()、explode()、str_split()
implode(接続メソッド、配列):特定のルールに従って、配列内の要素を文字列
分解(分割文字、ターゲット文字列)に接続します:特定の形式に従って文字列を配列に分割します
China | Beijing | Shunyi == array( '中国'、 '北京」、「俊義」);
str_split(string、character length):指定された長さに従って文字列を分割して配列を取得します

2)インターセプト関数:trim()、ltrim()、rtrim()
trim(string [、specified character]):デフォルトでは、文字列の両側(中央ではない)のスペースを削除するために使用されますが、どちらを削除するかを指定することもできますコンテンツは、指定されたコンテンツサイクルに従って両側のコンテンツを削除することです
ターゲット文字ではない文字に遭遇するまでltrim():左を削除します
rtrim():右を削除します
3 )インターセプト関数:substr()、strstr()
substr(文字列、開始位置は0 [、length]から始まります):文字列は指定された位置でインターセプトされ、指定された長さをインターセプトできます(最後まで指定されていません)
strstr(文字列、一致する文字):指定された位置から、最後までインターセプトされます(ファイルサフィックスを取得するために使用できます)
4)サイズ変換関数:strtolower()、strtoupper()、ucfirst()
strtolower:すべて小文字
strtoupper:すべて大文字
ucfirst:最初の文字大文字
5)検索機能:strpos()、strrpos()
strpos(文字列、一致する文字):ターゲット文字列内の文字の位置を決定します(初回)
strrpos(文字列、一致する文字):決定しますターゲット文字列の最後の文字の位置
6)フォーマット関数:printf()、sprintf()
srintf / sprintf(出力文字列にはプレースホルダー、コンテンツの順序があります...):出力データをフォーマットします
7)その他: str_repeat()、str_shuffle()
str_repeat():文字列をN回繰り返します
str_shuffle():文字列をランダムにシャッフルします

おすすめ

転載: blog.csdn.net/weixin_53549425/article/details/112911319