[CyberSecurityLearning 45] PHPの基本+変数、演算子、フロー制御ステートメント

目次

PHPの概要

PHPランタイム環境のインストール

Web原則の簡単な紹介

基本的なPHP構文

特徴:

コマンドセパレータ[;]

コメント(C言語と同様)

単純なPHPステートメント

PHP構文エラー:

変数

変数宣言

初期化

割り当て

[=]  

参照割り当て$ c =&$ a

変数の解放

変数の命名

可変変数

可変型

絶え間ない

事前定義された定数

オペレーター

算術演算子(コードを参照)

論理演算子

演算子の優先順位

比較演算子

代入演算子

算術代入演算子¶

その他の代入演算子¶

その他の演算子

フロー制御ステートメント

順次実行

ブランチの実行

一方向分岐

双方向ブランチ

多方向分岐

ループステートメント

一方

一方を行います

for(好!)

特別なフロー制御ステートメント

ナインナイン掛け算の九九


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は残りを取ります。

論理演算子

phpマニュアル

いいえ!

およびまたは&&

または||

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()   结束本次脚本执行

九九乘法表

 

おすすめ

転載: blog.csdn.net/Waffle666/article/details/114367027