《我的php學習第二十六天——PHP基礎語法,php運算符》要點:
本文介紹了我的php學習第二十六天——PHP基礎語法,php運算符,希望對您有用。如果有疑問,可以聯系我們。
在PHP程序中,變量和常量是經常用到的
PHP是操作數據,數據在靜態的時候是放到文件或者數據庫中,當程序操作數據的時候,數據是以變量或者常量的形式存在于內存.
在真實的項目環境中,只有數據操作是不夠的.還應該有很多業務邏輯,就是對數據進行判斷.體現在程序中就是各種表達式.
表達式:凡是有返回值的語句都稱之為表達式
$a = 10;
$a > 10;
Php中運算符有:算術運算符,邏輯運算符,比較運算符,賦值運算符,位運算符,三元運算符,錯誤抑制符,連接運算符,自操作運算符
算術運算符:+,-,*,/,%
算術運算符是用來進行簡單的數學計算的.
模運算的原理:取余運算,獲得兩個數相除之后的余數.
錯誤抑制符:@,表示抑制錯誤的輸出,示例在上圖
賦值運算符:=,+=,-=,*=,/=,%=,.=
賦值運算符是改變變量的值,是將運算符右邊的結果賦值給左邊.
+=,-=,*=,/=,%=
$a += 1; <============> $a = $a + 1;
注意:/=后面不能跟0
邏輯運算符
指的是當多個條件并存的時候,找出其中一些關聯.將多個條件一起參與運算的時候,就需要使用邏輯運算符.
邏輯運算符:&&,||,!
$a = true;
$b = false;
&&:表示且的意思,$a && $b,需要a和b同時為真的時候結果才為真,其中如果有任意一個不為真則結果假
||:表示或的意思,$a || $b,表示a和b中只要有一個結果為真,那么整個結果則為真,a和b同時為假的時候才返回假
!:邏輯非,表示對一個布爾結果取反,!$a,表示,如果a為真,則最終結果是假,如果a為假,則整個結果為真
邏輯運算符又稱之為短路運算符
如果在第一個條件已經能夠判斷最終結果的情況下,不會在向下去判斷其他的元素.
$a = true;
$b = false;
Var_dump($a && $b);//從左往右判斷整個表達式,先判斷$a,是true但是不能代表整個表達式的結果,所以還需要繼續判斷,判斷$b,為false,所以整個結果為false
Var_dump($a || $b);//先判斷$a,true,這個時候因為是或運算,只要其中有一個為true,那么整個結果為true,所以當第一個條件為true的時候,已經可以得到整個表達式的結果,所以不需要判斷$b,直接返回true
&&可以使用and
||可以使用or
在PHP中大部分使用邏輯運算符的時候,使用是符號,而不是單詞;而在mysql中大部分的時候使用的是單詞而不是符號
比較運算符
比較運算符是用來判斷多個值之間的關系
比較運算符:>,>=,<,<=,==,===,!=,!==
<,<=,>,>=,==,!=,通常是用來比較大小的
===,!==,用來比較類型
注意:
在進行比較的時候,系統會對數據進行自動轉換(字符串與數值進行比較的時候,會將字符串轉換成數值之后,再進行比較)
===不單要求值大小一致,要求值對應的數據類型完全一致.
連接運算符
將兩個或者多個數據進行連接,指的是字符串的拼接
連接運算符只有一個:.
$a = ‘abc’;
$b = ‘ok’;
$c = $a . $b; //將a變量的值與b變量的值先進行連接,然后再賦值給c變量
字符串的賦值運算
$a .= $b;
$a = $a . $b;
先運算$a . $b = ‘abc’ . ‘ok’ = ‘abcok’;
再賦值$a = ‘abcok’;
注意:使用.號的時候,不論之前變量的類型是什么,都會最終變成字符類型.
自操作運算符
自己操作自己的運算符
自操作運算符:++,--
++:自己對自己+1
--:自己對自己-1
自操作運算符分為兩類:前置自操作,后置自操作
$a = 10;
$a++; //后置自操作
++$a; //前置自操作
$a = 10;
$d = 10;
$b = ++$a; //$a = $a + 1;$b = $a;
$c = $d++; //$c = $d;$d = $d + 1;
前置++:先對變量本身進行自加1運算,然后再將整個值賦值給其他變量
后置++:先將變量本身的值賦值給其他變量,然后再對自己進行+1運算
后置自操作原理
$a = 10;
$b = $a++;
等價于
$b = $a; //1 實際上是2
$a = $a + 1; //2 實際上是1
原因:++運算符的優先級比 = 高
自操作運算符,通常用到循環變量的控制
For($i = 0;$i < 10;$i++);while($i < 100){++$i;}
有興趣
$a = 10;
$b = &$a;
$b = $a++ + $a++’
$c = ++$a + ++$a;
三元運算符
也叫三目運算,是因為參與運算的表達式有三個.
語法:$a ? $b : $c
如果$a為真,則執行$b
如果$a為假,則執行$c
三元運算符完全可以使用if else替代,所以說三目運算是對簡單的if else的一個簡化
位運算符
電腦最小單位是位,bit
一個字節有8個bit
所有的數據存儲在電腦里,都是以二進制存在
$a = 2; //整型,占四個字節
十進制轉二進制
數據在電腦內存里的二進制表示
位運算指對具體內存的具體位進行操作.
位運算符:&,|,~,^,<<,>>
&:按位與,當兩個位的值同時為1的時候,結果才為1,否則結果為0
00010001 17
&
11111110 254
=
00010000 16
|:按位或,當兩個位的值只要有一個為1的時候,結果就是1,否則為0
00010001 17
|
11111110 254
=
11111111 255
~:按位取反,指的是如果當前位為0,則變成1,如果是1則變成0
00010001 17
~
11101110 238
有符號和無符號:PHP中默認的整型都是有符號類型,系統會在整數的第一位當做符號位,其中0表示整數,1表示負數
原碼反碼補碼
系統為了解決正0和負0不一致的情況,所以設計了原碼反碼補碼
原碼:指的是將一個數值按照其符號轉變成的二進制碼
2 00000010
-2 10000010
正負數的原碼區別在于符號位的不同
反碼:指的是將符號位除外,其他的位取反得到的結果
正數的原碼和反碼一致
2 00000010
-2 111111101
補碼:指的是在反碼的基礎上+1
正數的原碼,反碼,補碼都是一致的
2 00000010
-2 111111110
注意:
正數在內存里的存儲結構就是其二進制對應的編碼
負數在內存里存儲結構對應的是負數的補碼
正2取反的結果是-3
正數原碼反碼補碼一致,只要從二進制轉化成十進制即可
負數的保存形式是補碼,如果要得到負數的結果,需要把補碼轉化成原碼之后,再進行二進制轉十進制(符號位除外)
系統保存正負數的最大值區別
^:按位異或,如果兩位不一樣則返回1,如果兩位一樣就返回0
00010001 17
^
11111110 254
=
11101111
<<:左移運算,將內存對應的位向左移動一位,右邊補0,每次左移使得結果乘以2
00010001 17
<<
00100010 34
>>:右移運算,將內存賭贏的位向右移動一位,左邊補0,每次右移是的結果除2;
00010001 17
>>
00001000 8
Heredoc對應雙引號
$str = <<< EOT
//內容
//能夠解析變量
EOT;
Nowdoc對應單引號
$str = <<< ‘EOT’
//內容
//不能解析變量
EOT;
維易PHP培訓學院每天教你實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。