1、php中的字串可以使用的三種定義方法及其區別:
定義方式:單引號,雙引號,heredoc和newdoc
區別:(1)單引號不能解析變數
(2)單引號不能解析轉義字元,只能解析單引號和反斜線本身
(3)單引號效率更高
(4)變數和變數,變數和字串,字串和字串之間可以用.連線
(5)雙引號可以使用特殊字元和 包含
(6)雙引號可以解析所有轉義字元
<?phpheader("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...