php常量及資料型別

2022-08-01 05:30:15 字數 3547 閱讀 6939

1、php中的字串可以使用的三種定義方法及其區別:

定義方式:單引號,雙引號,heredoc和newdoc

區別:(1)單引號不能解析變數

(2)單引號不能解析轉義字元,只能解析單引號和反斜線本身

(3)單引號效率更高

(4)變數和變數,變數和字串,字串和字串之間可以用.連線

(5)雙引號可以使用特殊字元和 包含

(6)雙引號可以解析所有轉義字元

<?php

header("content-type:text/html;charset=utf-8");

$a = 1;

$str = 'abcdeg$ag';

echo

$str; //

輸出結果:abcdeg$ag

echo "

";$str ="abcdegg";

echo

$str; //

輸出結果:abcdeg1g

我們在寫sql語句時,經常會用到引號

$sql = "select * from user where name = '$name'";

$sql = 'select * from user where name = \' '.$name.'\'';//

為了提高效率,會用到單引號

heredoc 結構就像是沒有使用雙引號的雙引號字串,這就是說在 heredoc 結構中單引號不用被轉義。其結構中的變數將被替換,但在 heredoc 結構中含有複雜的變數時要格外小心。其對格式化輸出內容時,比較有用 。具體其有以下特點:

(1)開始標記和結束標記使用相同的字串,通常以大寫字母eot來寫。

(2)開始標記後不能出現空格或多餘的字元。

(3)結束標記必須頂頭寫,不能有縮排和空格,且在結束標記末尾要有分號 。

(4)位於開始標記和結束標記之間的變數可以被正常解析,但是函式則不可以。在heredoc中,變數不需要用連線符.,來拼接 。

例:

$name='小林子';

$content=<<奮鬥的點滴!!!

eof;

echo

$content; //

輸出結果:小林子奮鬥的點滴!!!

在 php 5.3.0 及其以後的版本中增加了nowdoc結構,其用法和heredoc相同,不同的是nowdoc 結構是類似於單引號字串的。nowdoc 中不進行解析操作。這種結構很適合用於嵌入 php **或其它大段文字而無需對其中的特殊字元進行轉義。

乙個 nowdoc 結構也用和 heredoc結構一樣的標記 <<<, 但是跟在後面的識別符號要用單引號括起來,即 <<<'eot'。

例:

$name='小林子';

$content=<<<'eof'奮鬥的點滴!!!

eof;

echo

$content; //

輸出:奮鬥的點滴!!!

2、三大資料型別

(1)浮點型別:浮點型別不能用於比較運算中

(2)布林型別:

false的七種情況:0,0.0,『』,『0』,flase,array(),null

(3)陣列型別:

超全域性陣列:  

$_get   獲得以get方法提交的變數陣列

$_post  獲得以post方法提交的變數陣列

$_cookie 獲取和設定當前**的cookie標識

$_session 取得當前使用者訪問的唯一標識,以陣列形式體現,如sessionid以及自定義session資料

$_env 當前php環境變數陣列

$_server 當前php伺服器變數陣列

$_files 上傳檔案時提交到當前指令碼的引數值,以陣列形式體現

$_request 包含當前指令碼提交的全部請求,$_get、$_post、$_cookie的所有動作

$globals 包含正在執行指令碼所有超級全域性變數的引用內容

$_server 是乙個包含了諸如頭資訊(header)、路徑(path)、以及指令碼位置(script locations)等等資訊的陣列。

① $_server['http_host']  請求頭資訊中的host內容,獲取當前網域名稱。

② $_server["server_name"]  輸出配置檔案httpd.conf中的servername,一般情況下與http_host值相同。

③ $_server["http_user_agent"]  獲取使用者相關資訊,包括使用者瀏覽器、作業系統等資訊。

④ $_server["http_cookie"]  瀏覽器的cookie資訊

⑤ $_server["path"]  當前指令碼所在檔案系統。

⑥ $_server["server_addr"]  當前執行指令碼的伺服器的ip位址。

⑦ $_server["server_port"]  伺服器端口。

⑧ $_server["remote_addr"]  瀏覽網頁的使用者ip。

⑨ $_server["document_root"]  當前執行指令碼所在的根目錄。

⑩ $_server["script_filename"]  當前執行指令碼的絕對路徑。

⑪ $_server ["remote_port"]  使用者連線到伺服器時所使用的埠。

⑫ $_server["request_method"]  請求提交資料的方式。

⑬ $_server["query_string"]  伺服器請求時?後面的引數。

⑭ $_server["request_uri"]  當前指令碼路徑,根目錄之後的目錄。

⑮ $_server["script_name"]  當前指令碼的路徑。這在頁面需要指向自己時非常有用。

⑯ $_server["php_self"]  當前正在執行指令碼的檔名。

⑰ $_server["request_time"]  得到請求開始時的時間戳。

(4)null的三種情況:

① 直接賦值為null

② 未定義變數

③ unset()銷毀的變數

(5)常量

定義方式:const、define

const更快,是語言結構,define是函式,同時,define不能用於類常量的定義,而const可以。

常量一經定義,不能修改,不能被刪除

預定義常量:

__file__當前php程式指令碼的絕對路徑及檔名稱

__line__儲存該常量所在的行號

__dir__當前php程式指令碼的目錄

__function__儲存該常量所在的函式名稱

__class__儲存該常量所在的類的名稱

__method__儲存該常量所在的類的方法的名稱

__namespace__namespace名稱

PHP 資料型別及常量

沒想到又回到了php,不說了,先熟悉熟悉以前的知識 created on 2013 7 18 php資料型別以及資料型別之間的轉換 php資料型別的轉換有兩種 1 自動轉換 在大多數情況下,php會根據實際的變數型別自動完成轉換 2 強制型別轉換 用的不多,但是也可以強制型別轉換 settype 變...

全面解讀php 常量及資料型別

在我們需要定義很長一段兒字串的時候需要用到heredoc。它的格式如下 sql 結尾一定不能留空格,要放到檔案的開頭。heredoc的功能和雙引號的功能類似,只是它常用於定義長文字。newdoc 的功能和單引號的功能類似,它也主要用於定義長文字,格式就是在heredoc的基礎上加上乙個引號。sql ...

PHP常量及資料型別,遍歷陣列

php字串的定義方式和各自區別 1 單引號 不解析變數,不能解析轉義字元,只能解析單引號和反斜線本身,變數和變數,變數和字串,字串和字串之間用 連線,效率更高 2 雙引號 可以解析變數,變數可以用特殊字元和 包含,雙引號可以解析所有轉義字元 3 heredoc 類似雙引號,處理大文字 4 nowdo...