php學習之 運算子相關概念

2022-03-12 13:02:40 字數 4221 閱讀 1675

<?php

/*運算符號(php)操作符號

* * 按運算符號功能分為:

* 一、算術運算子 + - * / % ++ --

* 二、字串運算子 . 連線運算子

* 三、賦值運算子 = += -= *= /= %= .=

* 四、比較運算子 > < >= <= == === != <> !==

* 比較運算子---條件運算子---關係運算子

* 比較後的結果只有一種:boolean true false

* === 比較時不僅要求內容相同,也要求型別相同

* !== 比較時內容不相同,也要求型別不相同

* 五、邏輯運算子 &&或and ||或or !或not

* 邏輯運算子只能操作bool型的值,返回的也是bool型的值

* 六、位運算子 & | ^ ~ << >> >>>

* 七、其他運算子 ? : `` @ => -> :: & $

* `` 用來執行作業系統核心

* @ 用來遮蔽掉錯誤資訊

* 建議使用「()」改變表示式的優先級別

* * % 有兩個目的:整除運算;控制範圍,不要用小數,也不要用負數

* % 會吧運算子兩邊的數轉為整數後再進行整除求餘。

*/ //用 %符號判斷閏年

$year=2011;

if(($year%4==0 && %year%100!=0) || $year%400=0)

else

// ++ --符號的使用

$a=10;

$a++; //$a=$a+1; 先用變數,再自增1

++$a; //$a=$a+1; 先自增1,在用變數

$a--; //$a=$a-1; 先用變數,再自減1

--$a; //$a=$a-1; 先自減1,再用變數

echo $a; //結果為10

//++ -- 運算的區別

$a=10;

$b=$a++;//b=10,a=11

$c=--$b;//c=9,b=9

$d=$c++ + ++$c; //d=20,c=11

$e=$d-- - --$d; //d=18,e=2

echo $d;

//字串運算子 . 的使用

$name="tom";

$age=27;

$height=1.75;

echo "我的名字是:我的年齡是:我的身高是:公尺

"; echo '我的名字是:'.$name.'我的年齡是:'.$age.'我的身高是:'.$height.'公尺'.'

'; echo "\$age=".$age; //$age=27

echo "我的名字是:我的年齡是:我的身高是:公尺

";//賦值運算子的使用

$a=10;

$a+=10; //$a=$a+10;

$a-=10; //$a=$a-10;

$a*=10; //...

$a/=10; //...

$a%=10; //$a=$a%10;

$a.="abc";//$a=$a."abc";

echo $a;

$str='';

$str.='';

$str.='';

$str.='';

$str.='';

$str.='';

echo $str;//輸出乙個**

//比較運算子

var_dump(15>6);//返回 bool(true)

$a=15;

if(15==$a)

else

//邏輯運算子的使用

var_dump(true && true);//true

var_dump(true && false);//false

var_dump(true || false);//true

var_dump(!true);//false

var_dump(!false);//true

//判斷使用者名稱密碼

$username="admin";

$password="123456";

$email="[email protected]";

if($username=="admin" && $password="123456")

if($username=="" || $password=="" || $email=="")

//位運算子

$a=20; //00010100

$b=30; // 00011110

/* * 20 00010100

* 30 00011110 &

*-----------------------------------

* 00010100

* */

$c=$a & $b;

echo $c;

/*補充,& | 也可以用做邏輯運算

* &&和||的 短路問題:

* &&在作運算時,如果前面的數為false,則後面是否為true,整個表示式都為false,所以就不去執行後面的運算元;

* ||在作運算時,如果前面的數為true,則後面的數是否為false,整個表示式都為true,所以就不去執行後面的運算元;

* 然而,& 或者 | 在作運算時,兩邊都會被執行

*/$a=10;

if($a>5 || $a++<100){}

echo $a;//輸出10

$b=10;

if($b>5 | $b++<100){}

echo $b;//輸出11

/*位的概念:乙個位是由8個二進位制數組成的(例00000000),

乙個位元組由8個位組成,那麼就有32個二進位制數。

原碼:最高位 用0表示正數,1表示負數

+7 00000111

-7 10000111

反碼:乙個數如果為正,則它的反碼與原碼相同;

乙個數如果為負,則符號位為1,其餘各位是對原碼取反;

+7 00000111

-7 11111000

+0 00000000

-0 11111111

補碼:乙個數如果為正,則它的補碼與反碼與原碼相同

乙個數如果為負,則它的補碼=反碼+1,去掉最高位的溢位位

-7 原碼 10000111  反碼11111000

+1補碼11111001

已知乙個負數的補碼,把它轉換為十進位制數。

1.先對各位取反

2.將其轉換為十進位制數

3.加上負號,再減去1。

例:補碼11111010

取反00000101

4+1=5

-5-1=-6

位運算子:

& 按位與 |按位或 ^按位異或 ~按位取反

例: 按位與 01101101

&00110111

00100101

結論:只有1 1為1。

按位或 01101101

|00110111

01111111

結論:只有0 0為0。

按位異或 01101101

^00110111

01011010

結論:只有1 0或0 1時為1。(也可以理解為處於不同狀態為1(真))

按位取反 ~00110111

11001000

結論:將0變1,1變0

移位運算子:

左移:<< 帶符號右移:>> 無符號右移:>>>

例:數 x x<<2 x>>2 x>>>2

17 00010001 01000100 00000100 00000100

-17 11101111 10111100 11111011 00111011

結論:正數左右移動都補0,負數左移補0,帶符號右移補1,不帶符號補0

*/ //其他運算子的運用

$a=10;

$b=$a>5 ? $a : 5;//三元運算子,如果成立$b=$a否則$b=5

echo $b;

//用``來執行作業系統shell命令

$str=`ipconfig /all`;

echo '';

echo $str;

echo '

';

?>

PHP基礎之運算子

在php中變數的值可以隨便改動,而且型別也可以改,可重新賦值,例如 同乙個變數可以是 整型也可以是浮點型,因此為動態語言。取模運算 運算的正負結果取決於被除數的符號 運算子 全等於 不僅值相等,連變數型別也相等 不全等於 等於 不等於當進行 符號運算時,會轉換成相同型別轉換 布林值 字串 ture ...

php運算子取整 PHP 運算子

數學計算 1.使用 abs 函式設定數值的絕對值。輸出 5 echo abs 5 2.使用 ceil 函式進製取整。輸出 6 echo ceil 5.8 echo ceil 5.1 3.使用 floor 函式截斷取整。輸出 5 echo floor 5.8 echo floor 5.1 4.使用 r...

php學習筆記 運算子

一 含義 加減乘除,或比較大小,或判斷真假 二 按參與運算的資料個數分類 單目運算子 雙目運算子 三元運算子 expr1 expr2 expr3 三 按功能分類 賦值 算術 對整數數字進行 取餘操作 如果不是整數,會先自動轉換為整數之後再進行取餘。轉換為整數的做法是,直接去掉小數部分 v1 10 4...