目次
PHPの概要
-PHPはプログラミング言語であり、PHPの主な目的はWeb開発者が動的ページをすばやく作成できるようにすることです-
簡単に言えば、PHPは主にさまざまなタイプのWebサイトプログラムの開発に使用されます
-より詳細には、PHPはフォームデータの収集に使用できます動的Webページ、文字列処理、動的出力イメージの生成、サーバー側ファイルの処理、データベースとの対話、セッショントラッキング、XMLファイルの処理、多数のネットワークプロトコルのサポート、およびサーバー側でのその他の関連操作を生成します。
-PHPは、事前にコンパイルする必要がなく、サーバー側で実行されるインタプリタスクリプト言語です。
-PHPは、WindowsやLinuxなどのさまざまなオペレーティングシステムで実行できます。
ウェブサイトの開発に特別に使用される
スクリプトサフィックス.phpはHTML言語と混合でき、スクリプトサフィックスはまだ.php(HTML言語はPHPコードで出力することもできます)インタープリター言語であり、コンパイルして直接実行しないでください
弱いタイプ
PHP実行環境:
Windows:phpstudy
Linux:個別インストール(システムには付属していません)
PHPランタイム環境のインストール
Apache + PHP + MySQLは、PHPで人気のある生活環境です。
ランプ
Web原則の簡単な紹介
1.ブラウザを開き
ます2.URLアドレスを入力します3.Web
サイトのコンテンツを表示します
基本的なPHP構文
PHP言語タグ
開始タグ<?php
終了タグ?>
特徴:
1. <?php?>これは、PHPモードに入るという意味で、最初と最後以外のコンテンツはPHPパーサーによって無視されます。
2. HTMLコードに直接埋め込むことができ、HTMLコードのどこにでも埋め込むことができます。
3.任意の数のPHPタグをhtmlドキュメントに埋め込むことができます
4.ファイルの最後にあるPHPコードの終了タグは省略できます。場合によっては省略したほうがよい場合もあります。
コマンドセパレータ[;]
phpステートメントは(推奨)セミコロンで終了する必要があります
コメント(C言語と同様)
1行コメント//
複数行コメント/ * * /
注意:
phpコードのコメントは、ブラウザのソースコードには表示されません。
phpの動作環境はサーバーであり、ブラウザーに表示されるのは、PHPコードを実行しているPHPエンジンの実行結果です。
PHPエンジンがPHPコードを解釈すると、コメントは自動的に除外されます。
HTMLコードクライアントがソースコードを見ることができるのはなぜですか?
HTMLランタイム環境はブラウザだからです!
単純なPHPステートメント
1、phpinfo();
2.エコーは単純な変数を出力するために使用されます
3. var_dump();変数値と変数タイプを出力するために使用されます
PHP構文エラー:
エラーはスクリプトの実行を終了します。
警告はプロンプトのみを表示し、実行には影響しません。
プロンプトのみを通知し、実行には影響しません。
変数
変数宣言
変数を宣言する必要はありませんが、初期化する必要があります
初期化
変数に初めて値を割り当てるか、変数のデフォルト値を割り当てます
割り当て
[=]
実験的な指示によると:PHPスクリプトは順番に実行されます
参照割り当て$ c =&$ a
$ aにエイリアスを与えるのと同じで、$ cの値が変わり、$ aも変わります。
<?php
$a=10;
$b=$a;
$b=$b+1;
echo $a; //10
echo "|";
echo $b; //11
echo "<hr />";
$c=&$a; //$a和$c实际上指向的是同一块内存空间(相当于给$a起了一个别名)
$c=$c+1;
echo $a; //11
echo "|";
echo $c; //11
?>
変数の解放
unset()
<?php
echo "This is var.php";
echo "<hr />";
echo "<span style='color:pink;background-color:blue'>123</span>";
?>
//一个页面中可以插入多个PHP标记(不能混用)
<hr />
<?php
//PHP在使用变量的时候不需要进行变量声明,
//如果一个变量没有初始化,内存中就没有这个变量。
echo $name;
$name="AJEST";
echo "<br />";
echo $name;
echo "<br />";
unset($name); //释放了变量
echo $name;
?>
変数の命名
@は$記号で始まります
@大文字と小文字を厳密に区別
@文字|数字|アンダースコア、数字で始めることはできません
$ name1
$
my_name
$ _my_name $ 1_name错误
@変数名としてphpキーワードを使用しないようにしてください
可変変数
<?php
$name="hello";
$$name="world";
echo $name; //输出hello
echo "<br />"
echo $$name; //world
echo $hello;//实际上$hello是$$name
?>
可変型
ブール型
truefalse、その他はtrueと見なされます
以下のすべてのコンテンツは虚偽と見なされます
ブール値FALSE
0
浮動小数点型0.0
空白文字列と文字列の0
ないメンバーの配列
NULL
var_dump();変数値とその変数タイプを出力するために使用されます
intは整数を格納します
フロートストレージ10進数3.14
ストリング
文字列の定義:
@ ''
@ ""
@区切り文字
注意:
@一重引用符は、エスケープするために一重引用符で定義された文字列に表示されます[\]
でそのまま@single引用符によって定義された文字列、[$]シンボルが出力されます
で@double引用符によって定義された文字列、[$]は、変数の始まりであり、全体的な変数名は、{}で囲まれています
@一重引用符と二重引用符で定義された文字列に入力された特殊文字には、[ '、"、$ ...]を含める必要がありますエスケープする必要があります
@区切り文字の最初と最後には、空白文字やコメントを含む文字を含めることはできません。
アレイ
被験者は話さない
絶え間ない
一定量
定义define( "NAME"、 "GGG");
直接使用するだけ
事前定義された定数
定数名定数値
__FILE__現在のファイル名(パス付きのファイル名)
__
LINE__現在の行数__FUNCTION__現在の関数名
__CLASS__現在のクラス名
__METHOD__現在のオブジェクトメソッド名
PHP_OSUNIXまたは
WINNTPHP_VERSION現在のPHPサーバーバージョン
DIRECTORY_SEPARATOR \または/オペレーティングシステムによるディレクトリの区切り文字を決定する
オペレーター
算術演算子(コードを参照)
Moduloは残りを取ります。
論理演算子
いいえ!
およびまたは&&
または||
Xor xorはtrueとは異なり、falseと同じです
AND演算は、OR演算よりも優先されます。
代入演算子は論理演算子よりも優先されます
演算子の優先順位
括弧を使用すると、必要がない場合でも、演算子の優先順位と結合性に依存して決定するのではなく、括弧のペアによって操作の順序を明確に示すことができ、通常はコードの可読性を高めることができます。
次の表に、演算子を優先順位の降順で示します。同じ行の演算子の優先順位は同じです。この時点で、それらの組み合わせの方向によって評価の順序が決まります。
組み合わせ方向 | オペレーター | 追加情報 |
---|---|---|
適用できません | clone new |
クローン と 新規 |
右 | ** |
算術演算子 |
適用できません | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ |
タイプ、インクリメント/デクリメント |
左 | instanceof |
の種類 |
適用できません | ! |
論理演算子 |
左 | * / % |
算術演算子 |
左 | + - . |
算術演算子 と 文字列演算子 |
左 | << >> |
ビット演算子 |
番号 | < <= > >= |
比較演算子 |
番号 | == != === !== <> <=> |
比較演算子 |
左 | & |
ビット演算子 と 参照 |
左 | ^ |
ビット演算子 |
左 | | |
ビット演算子 |
左 | && |
論理演算子 |
左 | || |
論理演算子 |
右 | ?? |
null合体演算子 |
左 | ? : |
三項演算子 |
右 | = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= |
代入演算子 |
適用できません | yield from |
からの収量 |
適用できません | yield |
産出 |
適用できません | print |
印刷 |
左 | and |
論理演算子 |
左 | xor |
論理演算子 |
左 | or |
論理演算子 |
比較演算子
例 | 名前 | 結果 |
---|---|---|
$ a == $ b | 等しい | true 、型変換後に$ aが$ bと等しい場合。 |
$ a === $ b | 合同 | true 、$ aが$ bと等しく、それらのタイプも同じである場合。 |
$ a!= $ b | 不平等 | true 、型変換後に$ aが$ bと等しくない場合。 |
$ a <> $ b | 不平等 | true 、型変換後に$ aが$ bと等しくない場合。 |
$ a!== $ b | 等しくない | true 、$ aが$ bと等しくない場合、またはそれらのタイプが異なる場合。 |
$ a <$ b | 小さくて | true 、$ aが厳密に$ bよりも小さい場合。 |
$ a> $ b | 以上 | true 、$ aが$ bよりも厳密に大きい場合。 |
$ a <= $ b | 以下 | true 、$ aが$ b以下の場合。 |
$ a> = $ b | 以上以上 | true 、$ aが$ b以上の場合。 |
$ a <=> $ b | 宇宙船演算子(組み合わせ比較演算子) | $ aが$ bより小さい、等しい、大きい場合、それぞれ0より小さい、等しい、大きいint値を返します。 |
当两个操作对象都是 数字字符串, 或一个是数字另一个是 数字字符串, 就会自动按照数值进行比较。 此规则也适用于 switch 语句。 当比较时用的是 ===
或 !==
, 则不会进行类型转换——因为不仅要对比数值,还要对比类型。
比较参与运算的单元是否相同,相同为真,不同为假
<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
switch ("a") {
case 0:
echo "0";
break;
case "a": // never reached because "a" is already matched with 0
echo "a";
break;
}
?>
赋值运算符
算术赋值运算符 ¶
例子 | 等同于 | 操作 |
---|---|---|
$a += $b | $a = $a + $b | 加法 |
$a -= $b | $a = $a - $b | 减法 |
$a *= $b | $a = $a * $b | 乘法 |
$a /= $b | $a = $a / $b | 除法 |
$a %= $b | $a = $a % $b | 取模 |
$a **= $b | $a = $a ** $b | 指数 |
其他赋值运算符 ¶
例子 | 等同于 | 操作 |
---|---|---|
$a .= $b | $a = $a . $b | 字符串拼接 |
其他运算符
$a= 10>20 ? 10:20(三元运算符)
`` 将字符串当作命令执行(不是单引号,是Tab上面的那个键)
@ 屏蔽提示,警告
<?php
$a=10<20?10:20;
echo $a;
echo "<hr />";
echo `ping www.baidu.com`;
?>
<hr />
<?php
echo `whoami`;
echo "<hr />";
echo @$name; //直接写$name会报Notice,在前面加一个@,屏蔽警告、提示
?>
流程控制语句
顺序执行
PHP代码执行的时候,依次顺序执行
分支执行
单向分支
if(判断条件){执行语句块}
双向分支
if(判断条件){执行语句块1}else{语句块2}
多向分支
if(判断条件){执行语句块1}elseif{语句块2}elseif{语句块3}....
elseif
switch
case
default
case后面的语句是不需要用大括号括起来的!
循环语句
while
当满足条件时,执行
计数器,变量
判断条件
do while
先执行再判断
for(好!)
特殊流程控制语句
break; 跳出本层循环
break 2; 跳出两层循环
continue; 跳过本次循环
die() 结束本次脚本执行
exit() 结束本次脚本执行
九九乘法表