運(yùn)算符
一,算術(shù)運(yùn)算符
算術(shù)運(yùn)算符用語完成各種運(yùn)算;
+ 加法運(yùn)算符 $a+$b;
- 加法運(yùn)算符 $a-$b;
* 乘法運(yùn)算符 $a*$b;
/ 除法運(yùn)算符 $a/$b;
% 取模運(yùn)算符(求余數(shù)) $a%$b;
二,賦值運(yùn)算符
$a = 5 賦值
$a += 5 加法賦值
$a -= 5 減法賦值
$a *= 5 乘法賦值
$a /= 5 除法賦值
$a .= 5 拼接賦值```
###三,字符運(yùn)算符
字符運(yùn)算符用于拼接字符串,拼接表示將兩個(gè)或者多個(gè)對象組合起來
例:
$a = "hello";
$b = $a . “world"; //.表示拼接前后兩個(gè)字符串
echo $b;
$b = "Hello";
$b .= “World!"; //.= 表示$b=$b."World"
$b = $b.”World”;
echo $b;
###遞增(++)和遞減(--)運(yùn)算符
遞增和遞減運(yùn)算符將變量的點(diǎn)錢值加1或減1, 可以是代碼更簡潔:
++$i/--$i 先加減 $i的值加/減1, 然后返回$i的值
$i++/$i-- 后加減 先返回$i的值, 然后再講$i的值加/減1
###五邏輯運(yùn)算符
&&/and 邏輯與
|| / or 邏輯或
! 邏輯非
xor 亦或(有且僅有一個(gè)為true,則返回true)
###六比較運(yùn)算符
> 大于
< 小于
>= 大于或等于
<= 小于或等于
!= 不等于
<> 不等于
== 等于
=== 絕對相等
!== 全不等
###七,三元運(yùn)算符
語法:expression1 ? expression2 : expression3 ;
#二流程控制
##判斷語句
1 if語句
if(expression ){
//statement
}else if(expression){
//statement
}else{//statement
}
- Switch 語句
switch (expression){
case value:
//statementsbreak;
default://statements
}
##循環(huán)語句
1 while語句
while(expression){
//statements
}
- do...while語句
do {
//statements
}while(expression); - for循環(huán)
for(expression1; expression2; expression3){/
/statements
} - foreach foreach循環(huán);
語法格式1
foreach(array_expr as $value){
//statements
}
語法格式2
foreach(array_expr as $key=>$value){
//statements
}
跳出循環(huán)
- break
結(jié)束循環(huán)
2 .continue
結(jié)束當(dāng)前循環(huán)并從下次循環(huán)執(zhí)行```
函數(shù)
函數(shù)分類
1 . 內(nèi)置函數(shù)
2 . 創(chuàng)建自定義函數(shù)
函數(shù)簡介
函數(shù)用function關(guān)鍵字來聲明;
函數(shù)名稱是有字母或下劃線開始,中間可以包含數(shù)字;
函數(shù)名不區(qū)分大小寫,不過在調(diào)用時(shí)通常使用其定義時(shí)的格式
php不支持函數(shù)重載,所以自定義函數(shù)不能和內(nèi)置函數(shù)重名;
不能再一個(gè)文件中自定義重名函數(shù);
參數(shù)出現(xiàn)在括號中,如果有多個(gè)參數(shù)用逗號分隔
參數(shù)傳遞
!!在函數(shù)內(nèi)部想要使用函數(shù)外部的變量,需要使用global重新修飾一下*
值傳遞(傳值)
!! 使用static修改的變量為靜態(tài)變量,特點(diǎn)是:只被初始化一次*
函數(shù)內(nèi)對參數(shù)值得改變不會影響函數(shù)外部的值(如需改變需)
引用傳遞(傳址)
有些情況下,可能希望在函數(shù)體內(nèi)對參數(shù)的修改在函數(shù)體外也能反映
使用引用傳遞參數(shù)要在參數(shù)前加上&符號
變量本身傳入,傳入后的變量與原變量建立聯(lián)系;
函數(shù)體內(nèi)變量的變化,會影響到原變量本身```
默認(rèn)參數(shù)值:可以為參數(shù)指定默認(rèn)值,在沒有提供其他值的情況下,則將默認(rèn)值自動(dòng)賦值給該參數(shù)
可選參數(shù):可以指定某個(gè)參數(shù)為可選參數(shù),這些參數(shù)需要房子啊參數(shù)列末尾,需要指定默認(rèn)值為空
##返回值
return 返回結(jié)果,是函數(shù)結(jié)束運(yùn)行,并且將控制權(quán)返回被調(diào)用的行;
#變量作用域和生命周期
1 . 局部變量
函數(shù)體內(nèi)定義的變量,只在函數(shù)體內(nèi)可見
作用域:從聲明開始到函數(shù)結(jié)束
#include 和require
1 . include()
include()語句將在其被調(diào)用的位置包含一個(gè)文件
`例 : incl("init.php");`
2 . include_once()
`作用于include相同,但它會先驗(yàn)證是否已經(jīng)包含該文件,如果包含,則不再執(zhí)行;`
3 . require
` 作用于include相同,但通常放在php程序最前端`
4 . require_once
`同include_once 同樣放在程序最前端;`
include 和require區(qū)別
require一個(gè)文件存在錯(cuò)誤的話,那么程序就會中斷,并顯示致命錯(cuò)誤;
include一個(gè)文件存在錯(cuò)誤的話,程序不會中斷,而是繼續(xù)執(zhí)行,并顯示一個(gè)警告錯(cuò)誤
#數(shù)組
一.數(shù)組的分類
例:
$day = array(“a”,”a”,”a”); //索引數(shù)組
$week = array("a"=> "星期一", "b"=>"星期二",關(guān)聯(lián)數(shù)組
"c"=> “");
二數(shù)組的創(chuàng)建
1. 使用array()函數(shù)
`$arr = array();`
2. 直接對數(shù)組變量賦值
` $arr[key] = value;`
如果方括號沒有指定索引,則取當(dāng)前對大整數(shù)索引,新的鍵名將是,該值+1.如若當(dāng)前沒有整數(shù)索引則鍵名是0;.如果指定的鍵名已經(jīng)有值了,該值將被覆蓋
3 . 使用函數(shù)創(chuàng)建數(shù)組
`range()建立一個(gè)包含指定范圍單元的數(shù)組`
#數(shù)組的基本操作
1 . unset($arr[0])刪除數(shù)組元素
2 . print_r($arr)打印數(shù)組元素
3 . count($arr) 取得數(shù)組大小
4 . in_array(10,$arr)檢查數(shù)組中是否包含某個(gè)值
###遍歷數(shù)組
1 . for 循環(huán)遍歷數(shù)組
2 . foreach 循環(huán)遍歷數(shù)組
##數(shù)組排序
1 . sort() , rsort()對數(shù)組進(jìn)行升序和降序排列;
2 . ksort(),krsort()對數(shù)組索引進(jìn)行升序或降序排列,并保持索引關(guān)系
#二維數(shù)組
遍歷
foreach($products as $product_k=>$product_v){
foreach($product_v as $key=>$val){
echo $key.'=>'.$val;}
}```
數(shù)組字符串轉(zhuǎn)換
1 . explode()返回由字符串組成的數(shù)組
$str = "1,2,3,4,5,6";
$arr = explode(',', $str);
print_r($arr);```
2 . implode()將數(shù)組元素鏈接成字符串
$arr = array('a','b', 'c', 'd');
$str = implode('|', $arr );
echo $str;```
字符串
1 . echo 打印 (可打印多個(gè)值 使用逗號鏈接);
查找和替換
1 . strpos()
int strpos ( string haystack, mixed needle [, int offset] )
strpos()函數(shù)在haystack中以區(qū)分大小寫的方式找到needle第一次出現(xiàn)的位置,如果沒有的話返回false;
可選參數(shù)offset指定開始查找的位置
2 . stripos()
stripos()與strpos()功能相同,只是查找時(shí)不區(qū)分大小寫
3 . str_replace()
mixed str_replace ( mixed search, mixed replace, mixed subject[, int &count] )
str_replace()函數(shù)在subject中以區(qū)分大小寫的方式搜索search,用replace替換找到的所有內(nèi)容,如果沒有找到search,則subject保持不變
如果定義了可選參數(shù)count則只替換subject中count個(gè)search
截取字符串
1 . substr()
string substr ( string string, int start [, int length] )
從start位置取出length長度的字符,字符串開始位置為0;
如果沒有指定length,name默認(rèn)一直到字符串末尾
2 . strstr()
string strstr ( string haystack, string needle )
strstr()函數(shù)搜索一個(gè)字符串在另一個(gè)字符串中第一次出現(xiàn),該函數(shù)返回字符串其余部分(從匹配點(diǎn)),如果未找到所搜索的字符串則返回false
3 . stristr()
stristr()與strstr()功能一樣,只是不區(qū)分大小寫
刪除字符串
1 . ltrim
string ltrim(string str [, string charlist])
ltrim函數(shù)刪除字符串左側(cè)空格或其他預(yù)定義字符;
如果未設(shè)置charlist參數(shù),則刪除一下字符
"\0" null;
"\t" 制表符
"\n" 換行
"\x0b" 垂直制表符
"\r" 回車
" " 空格
2 . rtrim()
string rtrim(string str [, string charlist])
rtrim函數(shù)刪除字符串右側(cè)空格或其他預(yù)定義字符;
3 . trim();
trim函數(shù)刪除字符串兩側(cè)空格或其他預(yù)定義字符;
其他處理函數(shù)
1 . strlen()獲取字符串長度
2 . strtolower()將字符串轉(zhuǎn)換為小寫字母
3 . strtoupper()將字符串轉(zhuǎn)換成大寫字母
4 . strrev()翻轉(zhuǎn)字符串
5 . nl2br()將字符串中換行(\n)轉(zhuǎn)換過成HTML換行標(biāo)簽
;
6 . strip_tags()刪除字符串中HTML XHTML PHP標(biāo)簽
string strip_tags ( string str [, string allowable_tags] )
可選參數(shù)allowable_tags指定要保留的標(biāo)簽
7 . htmlspecialchars()函數(shù)吧一些預(yù)定義的字符轉(zhuǎn)換為HTML實(shí)體
預(yù)定義的字符:
& (和號) 成為 &
" (雙引號) 成為 "
' (單引號) 成為 '
< (小于) 成為 <
(大于) 成為 >