一.post與get請求方式的區別:
1.請求形式不同:get請求是將數據俯角在URL結尾發送給服務器,post方式是以單獨的消息形式,在後台發送給服務器。
2.發送長度不同:get請求最大數據量為2k,post請求理論上無限制,可以在配置文件中設置其大小。
3.安全度:因為get方式數據是附加在url後發送給服務器,因此,get的安全性要低。
4.運用場景:get適用於數據簡單,安全性要求不高的時候使用,否則,使用post。
二.常量的聲明和使用:
define('PAI1', 3.1415) const PAI2 = 3.1415; echo PAI1, PAI2; define('^_^', ‘笑臉’); //此種形式不能用echo ^_^來輸出此變量,用一個函數即可 echo constant('^_^');
三.變量的作用域:
個人認為php中的作用域有三種
1.外部作用域,是指在一個腳本內,函數體以外的范圍,在此區域聲明的變量,外部都可用,但在內部即函數內不能使用。
2.內部作用域,是指一個腳本內,函數體內的范圍,在此區域聲明的變量,內部可用,但在外部不可見。
3.超全局作用域,在任何腳本的任何地方都可以使用,如在a.php腳本的test函數內部或者函數外部都可用,b.php腳本內也同樣適用。
如何使一個變量在外部聲明內部可用或者內部聲明外部也可用呢?--global關鍵
$v1 = 'global v1'; func1(); function func1(){ //echo $v1; //未定義 global $v1; echo 'function inner vars v1 :', $v1; } echo '以下是在函數內部聲明外部使用的示例
'; function func2(){ global $v2; //注釋後,在全局內輸出$v2會出錯 $v2 = 'function inner v2'; } func2(); echo $v2;
% 操作符:計算結果的符號與第一個操作數符號一致
& 引用操作符:
$v3 = 1; $v4 = &$v3; unset($v3); //unset後會把變量給銷毀掉,不能訪問$v3 //echo $v3; //unset再次訪問$v3會報錯and or 操作符:
與&& 和 ||功能相同,只是優先級比較低(比=還要低)
function func1(){ return false; } $a = func1() or die('func1 執行返回值為假'); $a = func1() || die('func1 執行返回值為假');
可以這麼說,凡是有一個可以使用的地方,另一個也可以使用。但是,兩者之間也還是一個非常重要的區別:
在 echo 函數中,可以同時輸出多個字符串,而在 print 函數中則只可以同時輸出一個字符串。同時,echo函數並不需要圓括號,所以echo函數更像是語句而不像是函數。
echo 和 print 都不是函數,而是語言結構,所以圓括號都不是必需的。他們的區別在於:
(1) echo可以輸出多個字符串,像下面這樣:
echo 'a','b','c';
如果你非要加上圓括號,注意寫成echo ('a','b','c');是錯誤的,應該寫成:
echo ('a'),('b'),('c');
它沒有像函數的行為,所以不能用於函數的上下文
(2) print只能輸出一個字符串,它可以表現得像一個函數,比如你可以如下使用:
$ret = print 'Hello World';
所有它能用在更復雜的表達式中。
另外,echo的效率相對比較快~
echo 命令和 print 命令 不同
使用時echo 可以輸出多個用逗號分隔的變量,而print只能輸出一個變量
echo 函數 和 print 函數 有區別。
echo() 無返回值,與echo 命令相同
print() 有返回值,成功,返1,false,返0.因此,print要比echo慢一些,但可以應用到更復雜的表達式中。
六.isset 和 empty區別
isset函數在開發中使用較多,判斷該變量是否存在或者是否開辟了內存。
empty函數不僅僅是判斷值是否是為空,而且當次變量未定義,即未開辟內存時,返回false,也就是說empty函數需要在isset為真的前提下,不能為空。
七.switch可以支持整形,浮點型,字符串,也可以支持數組,布爾類型,允許沒有default
//$bol = true; //$bol = false; $bol = [1, 2, 3]; switch($bol){ case 0: echo '0
'; break; case 10: echo '10
'; break; case -1: echo '-1
'; break; case [1,2,3]: //數組 echo 'empty array
'; break; case 0: echo '0
'; break; } //當為bool類型時,true在case數值為真時輸出,false在case後數值為假時輸出,可以運行代碼,可以下