網(wǎng)站建設中標量類型是基本數(shù)據(jù)結(jié)構(gòu),用來存儲簡單的、直接的數(shù)據(jù),PHP標量類型包括4種:
boolean(布爾型)布爾型是使用頻率最高的數(shù)據(jù)類型,也是最簡單的類型。布爾類型是PHP 4開始引進,要指定一個布爾值,使用關(guān)鍵字true或false即可,這兩個值不區(qū)分大小寫。設置變量的值為布爾型,則直接將TRUE或FALSE關(guān)鍵字賦值給變量即可。如:<?php$foo = True; //設置變量$foo的值為真?>通??梢岳媚承┻\算符返回布爾值,并將其傳遞給控制流程,以便控制流程方向。如:<?phpif ($action == "show_version") { // == 是一個操作符,它檢測兩個變量是否相等,并返回一個布爾值 echo "The version is 1.23";}?>
整型.整型數(shù)值只包含整數(shù),在32位操作系統(tǒng)中,整型有效范圍為-2147483648~+2147483647。整型值可以使用十進制、十六進制或八進制表示,前面可以加上可選的符號(-或者+)。八進制表示數(shù)字前必須加上0(零),十六進制表示數(shù)字前必須加上0x。例如:<?php$a = 1234; //十進制數(shù)$a = -123; //負數(shù)$a = 0123; //八進制數(shù)(等于十進制83)$a = 0x1A; //十六進制數(shù)(等于十進制26)?>PHP不支持無符號整數(shù),整數(shù)值的字長可以用常量PHP-INT-SIZE來表示,自PHP 4.4.0和PHP5.0.5后,最大值可以用常量PHP-INT-MAX來表示。如果給定的一個數(shù)超出了整數(shù)范圍,將會被解釋為浮點數(shù)。同樣如果執(zhí)行的運算結(jié)果超出了整數(shù)范圍,也會返回浮點數(shù)。如:<?php$large_number = 2147483647;var_dump($large_number); //輸出為int(2147483647)$million = 1000000;$large_number = 50000 * $million;var_dump($large_number); //輸出為float(50000000000)?>
浮點型浮點數(shù)也叫雙精度數(shù)或者實數(shù),可以使用下面幾種方法定義。<?php$a = 1.234; //標注格式定義$b = 1.2e3; //科學計數(shù)法格式定義$c = 7E-10; //科學計數(shù)法格式定義?>3. 浮點型浮點數(shù)也叫雙精度數(shù)或者實數(shù),可以使用下面幾種方法定義。<?php$a = 1.234; //標注格式定義$b = 1.2e3; //科學計數(shù)法格式定義$c = 7E-10; //科學計數(shù)法格式定義?
字符串字符串都是由一系列的字符組成,一個字符就是一個字節(jié)??梢酝ㄟ^單引號、雙引號、heredoc語法結(jié)構(gòu)和nowdoc語法結(jié)構(gòu)(PHP 5.3.0以后)定義字符串。
?單引號定義一個字符串的最簡單的方法是用單引號把它包圍起來。如果想要輸出一個單引號,需在它的前面加個反斜線(\)。在單引號前或在字符串的結(jié)尾處想要輸出反斜線,需要輸入兩條(\\)。注意,如果在任何其他的字符前加了反斜線,反斜線將會被直接輸出。<?phpecho '單行字符串';echo '多行字符串';echo '"I\'ll be back"'; //輸出:"I'll be back"echo 'C:\\*.*?'; //輸出:C:\*.*?echo 'You deleted C:\*.*?'; //輸出:You deleted C:\*.*?echo 'This will not expand: \n a newline'; //輸出:This will not expand: \n a newlineecho 'Variables do not $expand $either'; //輸出:Variables do not $expand $either?>在單引號字符串中的變量和特殊含義的字符將不會被替換,按普通字符輸出,但是雙引號所包含的變量會自動被替換為實際數(shù)值。
?雙引號如果字符串是包圍在雙引號(")中,PHP將對一些特殊的字符進行解析,這些特殊字符都要通過轉(zhuǎn)義符來顯示與單引號字符串一樣,如果輸出上述之外的字符,反斜線會被打印出來。
?heredoc結(jié)構(gòu)第3種定義字符串的方法是用heredoc句法結(jié)構(gòu):<<<。在該提示符后面,要定義個標識符,然后是一個新行。接下來是字符串本身,最后要用前面定義的標識符作為結(jié)束標志。結(jié)束時所引用的標識符必須在一行的開始位置,而且標識符的命名也要像其他標簽一樣遵守PHP的規(guī)則:只能包含字母、數(shù)字和下劃線,并且不能用數(shù)字和下劃線作為開頭。<?php$ str = <<<EODExample of stringspanning multiple linesusing hereda syntax.EOD;echo $str?>heredoc結(jié)構(gòu)就像是沒有使用雙引號的雙引號字符串,在heredoc結(jié)構(gòu)中引號不用被替換,但是上文中列出的字符(\n等)也可使用。變量將被替換,但在heredoc結(jié)構(gòu)中字符串表達復雜變量時,要格外小心。 ?nowdoc結(jié)構(gòu)如果說heredoc結(jié)構(gòu)類似于雙引號字符串,那么nowdoc結(jié)構(gòu)就是類似于單引號字符串的。now-doc結(jié)構(gòu)很像heredoc結(jié)構(gòu),但是nowdoc不進行解析操作。這種結(jié)構(gòu)很適合用在不需要進行轉(zhuǎn)義的PHP代碼和其他大段文本。一個nowdoc結(jié)構(gòu)也用和heredoc結(jié)構(gòu)一樣的標記<<<,但是跟在后面的標志符要用單引號括起來,即<<<'EOD'。heredoc結(jié)構(gòu)的所有規(guī)則適用于nowdoc結(jié)構(gòu),尤其是結(jié)束標志符的規(guī)則。例如:<?php$str = <<<'EOD'Example of stringspanning multiple linesusing nowdoc syntax.EOD;?>