PHP流程及控制,函數,數組,字符串

運算符

一,算術運算符

算術運算符用語完成各種運算;

+ 加法運算符                $a+$b;
- 加法運算符                  $a-$b;
* 乘法運算符                 $a*$b;
/ 除法運算符                 $a/$b;
% 取模運算符(求余數)                 $a%$b;

二,賦值運算符

$a = 5      賦值
$a += 5      加法賦值
$a -= 5      減法賦值
$a *= 5        乘法賦值
$a /= 5         除法賦值
$a .= 5        拼接賦值```

###三,字符運算符
字符運算符用于拼接字符串,拼接表示將兩個或者多個對象組合起來
例:

$a = "hello";
$b = $a . “world"; //.表示拼接前后兩個字符串
echo $b;
$b = "Hello";
$b .= “World!"; //.= 表示$b=$b."World"
$b = $b.”World”;
echo $b;


###遞增(++)和遞減(--)運算符
遞增和遞減運算符將變量的點錢值加1或減1, 可以是代碼更簡潔:

++$i/--$i 先加減 $i的值加/減1, 然后返回$i的值
$i++/$i-- 后加減 先返回$i的值, 然后再講$i的值加/減1

###五邏輯運算符

&&/and 邏輯與
|| / or 邏輯或
! 邏輯非
xor 亦或(有且僅有一個為true,則返回true)

###六比較運算符
    >      大于
    <      小于
    >=     大于或等于
    <=     小于或等于
    !=     不等于
    <>     不等于
    ==     等于
    ===    絕對相等
    !==    全不等
###七,三元運算符
 語法:expression1 ? expression2 : expression3 ;
#二流程控制
##判斷語句

1 if語句
if(expression ){
//statement
}else if(expression){
//statement
}else{//statement
}

  1. Switch 語句
    switch (expression){
    case value:
    //statementsbreak;
    default://statements
    }
##循環語句

1 while語句
while(expression){
//statements
}

  1. do...while語句
    do {
    //statements
    }while(expression);
  2. for循環
    for(expression1; expression2; expression3){/
    /statements
    }
  3. foreach foreach循環;
    語法格式1
    foreach(array_expr as $value){
    //statements
    }
    語法格式2
    foreach(array_expr as $key=>$value){
    //statements
    }

跳出循環
  1. break
    結束循環
    2 .continue
    結束當前循環并從下次循環執行```

函數

函數分類

1 . 內置函數
2 . 創建自定義函數

函數簡介

函數用function關鍵字來聲明;
函數名稱是有字母或下劃線開始,中間可以包含數字;
函數名不區分大小寫,不過在調用時通常使用其定義時的格式
php不支持函數重載,所以自定義函數不能和內置函數重名;
不能再一個文件中自定義重名函數;
參數出現在括號中,如果有多個參數用逗號分隔

參數傳遞

!!在函數內部想要使用函數外部的變量,需要使用global重新修飾一下*

值傳遞(傳值)

!! 使用static修改的變量為靜態變量,特點是:只被初始化一次*

函數內對參數值得改變不會影響函數外部的值(如需改變需)
引用傳遞(傳址)

有些情況下,可能希望在函數體內對參數的修改在函數體外也能反映
使用引用傳遞參數要在參數前加上&符號
變量本身傳入,傳入后的變量與原變量建立聯系;
函數體內變量的變化,會影響到原變量本身```

     默認參數值:可以為參數指定默認值,在沒有提供其他值的情況下,則將默認值自動賦值給該參數
     可選參數:可以指定某個參數為可選參數,這些參數需要房子啊參數列末尾,需要指定默認值為空

##返回值
    return  返回結果,是函數結束運行,并且將控制權返回被調用的行;
#變量作用域和生命周期
1 . 局部變量
函數體內定義的變量,只在函數體內可見
作用域:從聲明開始到函數結束


#include  和require
 1 . include()
       include()語句將在其被調用的位置包含一個文件
`例 :   incl("init.php");`
 2 . include_once()
`作用于include相同,但它會先驗證是否已經包含該文件,如果包含,則不再執行;`
 3 . require
     `   作用于include相同,但通常放在php程序最前端`
 4 . require_once
      `同include_once   同樣放在程序最前端;` 
include  和require區別

require一個文件存在錯誤的話,那么程序就會中斷,并顯示致命錯誤;
include一個文件存在錯誤的話,程序不會中斷,而是繼續執行,并顯示一個警告錯誤

#數組
一.數組的分類
例:
$day = array(“a”,”a”,”a”); //索引數組
$week = array("a"=> "星期一", "b"=>"星期二",關聯數組
"c"=> “");
二數組的創建
1. 使用array()函數
`$arr = array();`
2. 直接對數組變量賦值
` $arr[key] = value;`
如果方括號沒有指定索引,則取當前對大整數索引,新的鍵名將是,該值+1.如若當前沒有整數索引則鍵名是0;.如果指定的鍵名已經有值了,該值將被覆蓋
3 . 使用函數創建數組
`range()建立一個包含指定范圍單元的數組`

#數組的基本操作

1 . unset($arr[0])刪除數組元素
2 . print_r($arr)打印數組元素
3 . count($arr) 取得數組大小
4 . in_array(10,$arr)檢查數組中是否包含某個值

###遍歷數組
1 . for 循環遍歷數組
2 . foreach 循環遍歷數組
##數組排序
1 . sort() , rsort()對數組進行升序和降序排列;
2 . ksort(),krsort()對數組索引進行升序或降序排列,并保持索引關系


#二維數組

遍歷
foreach($products as $product_k=>$product_v){
foreach($product_v as $key=>$val){
echo $key.'=>'.$val;}
}```

數組字符串轉換

1 . explode()返回由字符串組成的數組

$str = "1,2,3,4,5,6";
$arr = explode(',', $str);
print_r($arr);```
2 . implode()將數組元素鏈接成字符串

$arr = array('a','b', 'c', 'd');
$str = implode('|', $arr );
echo $str;```

字符串

1 . echo 打印 (可打印多個值 使用逗號鏈接);

查找和替換

1 . strpos()

int strpos ( string haystack, mixed needle [, int offset] )
strpos()函數在haystack中以區分大小寫的方式找到needle第一次出現的位置,如果沒有的話返回false;
可選參數offset指定開始查找的位置

2 . stripos()
stripos()與strpos()功能相同,只是查找時不區分大小寫
3 . str_replace()
mixed str_replace ( mixed search, mixed replace, mixed subject[, int &count] )

str_replace()函數在subject中以區分大小寫的方式搜索search,用replace替換找到的所有內容,如果沒有找到search,則subject保持不變
如果定義了可選參數count則只替換subject中count個search

截取字符串

1 . substr()

string substr ( string string, int start [, int length] )
從start位置取出length長度的字符,字符串開始位置為0;
如果沒有指定length,name默認一直到字符串末尾

2 . strstr()

string strstr ( string haystack, string needle )
strstr()函數搜索一個字符串在另一個字符串中第一次出現,該函數返回字符串其余部分(從匹配點),如果未找到所搜索的字符串則返回false

3 . stristr()

stristr()與strstr()功能一樣,只是不區分大小寫

刪除字符串

1 . ltrim

string ltrim(string str [, string charlist])
ltrim函數刪除字符串左側空格或其他預定義字符;
如果未設置charlist參數,則刪除一下字符
"\0" null;
"\t" 制表符
"\n" 換行
"\x0b" 垂直制表符
"\r" 回車
" " 空格
2 . rtrim()
string rtrim(string str [, string charlist])
rtrim函數刪除字符串右側空格或其他預定義字符;

3 . trim();
trim函數刪除字符串兩側空格或其他預定義字符;

其他處理函數

1 . strlen()獲取字符串長度
2 . strtolower()將字符串轉換為小寫字母
3 . strtoupper()將字符串轉換成大寫字母
4 . strrev()翻轉字符串
5 . nl2br()將字符串中換行(\n)轉換過成HTML換行標簽
;
6 . strip_tags()刪除字符串中HTML XHTML PHP標簽
string strip_tags ( string str [, string allowable_tags] )
可選參數allowable_tags指定要保留的標簽

7 . htmlspecialchars()函數吧一些預定義的字符轉換為HTML實體

預定義的字符:
& (和號) 成為 &
" (雙引號) 成為 "
' (單引號) 成為 '
< (小于) 成為 <
(大于) 成為 >

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容