PHP定義字符串的四種方式

1、單引號

在單引號中,任何特殊字符都會按原樣輸出【除\\和\‘將會被轉義輸出】僅僅只有單引號、反斜槓被轉義

2、雙引號

在雙引號中,遇到$將會解析該變量;

雙引號中會轉義反斜槓的轉義字符;

單雙引號之間的區別

 雙引號會替換變量的值,而單引號會把它當做字符串輸出。

對於轉義的支持

性能速度問題,由於雙引號中的字符串需要檢測是否含有$符號修飾的變量,因此從理論上講,單引號是比較快的(單引號效率比較高)

3、heredoc

heredoc可以理解爲不使用雙引號來定義字符串,但效果與使用雙引號一致。【此時雙引號相當於普通字符】(長字符串)

語法要求:

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

2、開始標記後不能出現空格或多餘的字符。

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

4、位於開始標記和結束標記之間的變量可以被正常解析,但是函數則不可以。

此時雙引號僅僅只是一個普通字符;其他的效果和雙引號的字符串效果一致

例:

<?php

$var = 'this is suifeng';

echo <<<"ETO"

$var <br/>

"666666"

ETO

輸出:

    this is suifeng

    666666

4、nowdoc

同理,nowdoc是不使用單引號來定義,但效果相當於使用單引號來定義的字符串。【此時單引號相當於普通字符】


數據類型

三大數據類型【標量、符合、特殊】

浮點類型

浮點類型不能運用到比較運算符中

布爾類型

false的七種情況

整數0、浮點0.0、布爾false、空字符串、0字符串、空數組、null

數組類型

超全局數組

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

null三種情況

直接賦值爲null、未定義的變量、unset()銷燬的變量

常量

定義

const define

const更快,是語言結構,define是函數

define不能用於類常量的定義,const可以,常量一經定義不能修改,不能刪除

預定義常量(魔術常量)

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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章