程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php代碼之要點分析一

php代碼之要點分析一

編輯:關於PHP編程

php代碼之要點分析一


一.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 函數中,可以同時輸出多個字符串,而在 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後數值為假時輸出,可以運行代碼,可以下


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved