學習第三彈
前言
上次學習了PHP語言的常量內容,並對之前的變量內容進行了補充,這次來說一下運算符以及一些語句
運算符
概念
運算符就是對於數據進行運算處理的符號。
算數運算符
分類
算術運算符有:“+”、“-”、“*”、“/”、“%”、“++”、**“–”**這幾類
+
**“+”**就單純的是個加號,表示兩個數據相加的結果
在這裏我其實有一個疑問,就是爲什麼字符串在單純的就是這樣一個+號表達式裏會被認爲是0處理?
關於這個,我在網上進行了查找,找到了問題的答案,就是說字符串在與整數相加時,有着如下的轉換規律:
'1aaa' => 1
'11aaa' => 11
'222asdsa' => 222
'aaaaa1'=>0
就是說字符串開頭沒有數值的話,會按0處理,而有數值的話會轉換成相應的數值,即:
-
“-”其實和上面說的一樣。這裏不進行過多的記錄了就。
不過“-” 還有一個意思,就是取反
*
/
%
“%” 和別的語言其實一樣,就是取餘。
++
<?php
$a=1;
//echo $a++;
echo '<br />';
echo ++$a;
對於這兩種方法,輸出的結果是不一樣的。前加加表示先加,後加加表示後加,因此結果不一樣,不過如果在前面先加加,在輸出的話值是一樣的。
不過如果上面的代碼不把第三行註釋掉的話,輸出的結果就會變成 1 3。因爲在$a++
這一句中輸出了a的值,再對a進行加加。
<?php
$a=1;
#$a++;
++$a;
echo $a;
這樣子輸出的結果是一樣的。
總的來說,就是前加加是先加,後返回;後加加是先返回後加。
–
“–” 和**“++”** 效果一樣,就不多說了。
注意:++和–是對於變量而言的
字符串運算符
字符串運算符是一個**“.”**,用於連接字符串。
賦值運算符
分類
有**“=”、“-”、“+=”、“-=”、“*=”、“/=”、“.=”、“%=”** 幾類。
=
可以把它看成是一個數學中的等於號,只不過叫做賦值,
比如:$a=1
,就是指把 “1” 的值賦給 “變量a”。
-
在上面說過了,就是指取相反數。
+=、-=、*=、/=、.=、%=
這幾種的意思其實是一樣的。
$a+=1;//$a=$a+1
$a-=1;//$a=$a-1
$a*=1;//$a=$a*1
...
比較運算符
分類
==(等於)、===(全等)、!=(不等於)<>、!===(不全等)、>、<、>=、<=。
用法
<?php
$a=1;
$b='1';
var_dump($a==$b)//輸出blooen true
var_dump($a===$b)//輸出blooen false
var_dump($a!=$b)//輸出blooen false
var_dump($a<>$b)//輸出blooen false
var_dump($a!==$b)//輸出blooen true
var_dump($a>$b)//輸出blooen false
var_dump($a>=$b)//輸出blooen true
var_dump($a<=$b)//輸出blooen true
var_dump($a<$b)//輸出blooen false
?>
規定
在對數據數進行比較操作時,輸出的都是布爾類型數據。
在PHP中用echo
輸出布爾類型數據時,
<?php
echo true;//輸出1
echo false//無輸出
?>
可以用上面說過的var_dump()
來輸出。
邏輯運算符
分類
就是幾種與、或、非、異或。
邏輯運算規則
運算的數值都是布爾類型,如果不是會自動轉換爲布爾類型,再進行運算。輸出的也是布爾類型。
認爲是布爾類型是false的值
1、布爾值false
2、0
3、浮點型0.0
4、空白字符串和字符串0
5、沒有成員的數組
6、NULL
邏輯運算符的使用
<?php
$a=true;
$b=false;
var_dump($a && $b)//與運算 輸出false
var_dump($a and $b)//與運算 輸出false
var_dump($a or $b)//或運算 輸出true
var_dump($a || $b)//或運算 輸出true
var_dump(!$b)//非運算 輸出true
var_dump($a xor $b)//異或運算 輸出true
?>
位運算符
概念
對操作數中的每一個二進制位進行運算。
其他運算符
?:
三元運算符
使用格式:表達式1 ? 表達式2 : 表達式3;
運算規則:
如果表達式1爲true,那麼執行表達式2,否則執行表達式3。
<?php
$a=true ? 20 : 10
echo $a;//輸出20
?>
``
用途:可以將系統的命令放在代碼裏執行
但是由於跨平臺原因,很少用到,(個人感覺還有涉及到安全問題)。
@
用途: 屏蔽表達式可能出現的錯誤
注意是表達式。
<?php
echo $a;//因爲沒有對變量a賦值,因此會報錯
@echo $a;//echo不是表達式,會報錯
echo @$a;//輸出null
?>
=> 、-> 、instanceof
三種運算符還沒有接觸,之後往後面深入學習之後,會補充回來。
循環語句
while循環語句
<?php
$i=1;
while($i<=10){
echo "while循環語句".<br />//輸出十次“while循環語句”,換行輸出
}
?>
do while 循環語句
<?php
$i=1;
do{
echo "do while循環語句"
echo "\n"
$i++;
}while($i<=10)//換行輸出十次“do while循環語句”
?>
for 循環語句
<?php
for($a=1; $a<=10; $a++){
echo "for循環語句".<br />//換行輸出十次“for循環語句”
}
?>
效果圖
結尾
第三彈大概就學了這麼多,等下次再總結其他的,加油!!!