php 常量及資料類型知識點

來源:互聯網
上載者:User
一、字串定義方式及各自區別
1、單引號
1.1、單引號不能解析變數
1.2、單引號不能解析轉移字元,只能解析單引號和反斜線本身
1.3、變數和變數,變數和字串,字串和字串之間用.串連

2、雙引號
2.1、雙引號可以解析變數,變數可以使用特殊字元和{}包含
2.2、可以解析所有轉移字元
2.3、也可以用.串連
2.4、單引號效率高於雙引號

3、heredoc和nowdoc
3.1、heredoc類似與雙引號
$str = <<<EOT
.....
EOT;

3.2、nowdoc類似於單引號
$str = <<<'EOT'
.....
EOT;

3.3、heredoc和nowdoc都是處理大文本

二、延伸考點
1、資料類型
1.1、標量類型
A、浮點類型
不能用於相等判斷

B、整形

C、字串

D、布爾類型
FALSE七種情況:0, 0.0, ' ', '0', false, array(), null

1.2、複合類型
A、數組
九大內建超全域數組
$_SERVER 變數由web伺服器設定或者直接與當前指令碼的執行環境相關聯
$_ENV 執行環境提交至指令碼的變數
$_GET 經由URL請求提交至指令碼的變數
$_POST 經由http post方法提交至指令碼的變數
$_REQUEST 經由get、post和cookie機制提交至指令碼的變數,因此該數組並不值得信任
$_FILES 經由http、post檔案上傳而提交至指令碼的變數
$_COOKIE 經由http cookies方法提交至指令碼的變數
$_SESSION 當前註冊給指令碼會話的變數
$GLOBALS 包含一個引用指向每個當前指令碼的全域變數範圍內有效變數。該數組的鍵名為全域變數的名稱

$_SERVER部分欄位說明

$_SERVER['REMOTE_ADDR'];//顯示用戶端IP的預定義變數
$_SERVER['REMOTE_HOST'];//目前使用者主機名稱;
$_SERVER['REMOTE_PORT'];//使用者串連到伺服器時所使用的連接埠。

$_SERVER['SERVER_ADDR'];//顯示伺服器端IP地址
$_SERVER['SERVER_NAME'];//顯示伺服器名稱
$_SERVER['SERVER_PORT'];//伺服器所使用的連接埠

$_SERVER['REQUEST_TIME'];//顯示請求時間
$_SERVER['QUERY_STRING'];//請求查詢參數

$_SERVER['HTTP_REFERER'];//提供來路url,即防盜鏈referer

$_SERVER['PHP_SELF'];//正在執行指令碼的檔案名稱路徑
$_SERVER['REQUEST_METHOD'];//訪問頁面時的要求方法 
$_SERVER['REQUEST_URI'];//訪問頁面時的請求地址
$_SERVER['SCRIPT_FILENAME'];//當前執行指令碼的絕對路徑名

$_SERVER['PATH_INFO'];//一般架構路由使用這個資訊

B、對象

1.3、特殊類型
A、resource
B、null

2、常量
定義方式:const、define
常量一經定義,不能被修改,不能被刪除
2.1、const和define區別
A、const更快,是語言結構,define是函數
B、const可以用於類常量定義,而define不可以

3、魔術常量
__LINE__ :返迴文件中的當前行號。也可寫成__line__。
__FILE__:返回當前檔案的絕對路徑(包含檔案名稱)。
__DIR__:返回當前檔案的絕對路徑(不包含檔案名稱),等價於 dirname(__FILE__)。
__FUNCTION__:返回當前函數(或方法)的名稱。
__CLASS__:返回當前的類名(包括該類的作用地區或命名空間)。
__TRAIT__:返回當前的trait名稱(包括該trait的作用地區或命名空間)。
__METHOD__:返回當前的方法名(包括類名)。
__NAMESPACE__:返回當前檔案的命名空間的名稱。

4、預定義常量
核心預定義常量:是在PHP的核心中就定義好了的常量。區分大小寫。
PHP_VERSION:返回PHP的版本。
PHP_OS:返回執行PHP解譯器的作業系統名稱。
PHP_EOL:系統分行符號,Windows是(\r\n),Linux是(\n),MAC是(\r)。

標準預定義常量:PHP預設定義的常量。區分大小寫。
M_PI:返回圓周率π的值。

5、以下預定義變數都是非全域的。
$php_errormsg:前一個錯誤資訊,$php_errormsg 變數包含由 PHP 產生的最新錯誤資訊。這個變數只在錯誤發生的範圍內可用,並且要求 track_errors 配置項是開啟的(預設是關閉的)。
$HTTP_RAW_POST_DATA:包含 POST 提交的未經處理資料。

$http_response_header:HTTP 回應標頭,$http_response_header 數組與 get_headers() 函數類似。當使用HTTP封裝器時,$http_response_header 將會被 HTTP 回應標頭資訊填充。
$argc:傳遞給指令碼的參數數目,包含當運行於命令列下時傳遞給當前指令碼的參數的數目。指令碼的檔案名稱總是作為參數傳遞給當前指令碼,因此 $argc 的最小值為 1,這個變數僅在 register_argc_argv 開啟時可用。
$argv:傳遞給指令碼的參數數組,包含當運行於命令列下時傳遞給當前指令碼的參數的數組。第一個參數總是當前指令碼的檔案名稱,因此 $argv[0] 就是指令檔名,這個變數僅在 register_argc_argv 開啟時可用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.