1 2 PHP中的常量及資料型別

2021-09-11 08:27:09 字數 4135 閱讀 2942

字串定義方式:單引號、雙引號、heredoc和newdoc三大資料型別(標量、復合、特殊):又細分成八種基本的資料型別浮點數(十進位制小數):不能用二進位制很準確的表示浮點數:不能運動到運算當中【精確講是不能運用到相等判斷】,因為 計算是交給計算機cpu計算(會轉換成二進位制計算)

例子1: 

0.1轉二進位制不能表示的原因啦:

0.1×2=0.2 .....................0

0.2×2=0.4 ......................0

0.4×2=0.8 .....................0

0.8×2=1.6.......................1

0.6×2=1.2.......................1

0.2×2=0.4.......................0

是無限迴圈的

例子2: 

$a = 0.1;

$b = 0.7;

if($a + $b == 0.8)

//false = 0.7999...

單引號:不能解析變數、不能解析轉義字元(只能解析單引【『】號和反斜槓【\】本身) 

雙引號:雙引號可以解析變數,變數可以使用特殊字元和{}包含、可以解析所有轉義字元

newdoc類似單引號【<<<'eot'  內容  eot;用來處理大文字】

heredoc:類似雙引號【《區別:單引號效率更高

四種標量型別:

boolean (布林型):這是最簡單的型別,只有兩種取值,可以為 true/true 或 false/false ,不區分大小寫。

integer (整型):在32 位作業系統中它的有效範圍是:-2 147 483 648~+2 147 483 647。整型值可以使用十進位制,十六進製制或八進位制表示,前面可以加上可選的符號(- 或者 +)。八進位制表示數字前必須加上 0(零),十六進製制表示數字前必須加上 0x。

float (浮點型, 也稱作 double):在32 位作業系統中的有效範圍為:1.7e-308~1.7e+308。

string (字串):字元型變數不同於其他程式語言有字元與字串之分,在php 中,統一使用字元型變數來定義字元或者字串。

兩種復合型別:

array (陣列):陣列型變數是一種比較特殊的變數型別,將在後續章節中詳細說明。

object (物件):物件也是一種特殊的資料型別。要建立object變數,請使用 new 關鍵字。詳細請檢視:php物件型別(object)

兩種特殊型別:

resource(資源):源是一種特殊變數,儲存了到外部資源的乙個引用。資源是通過專門的函式來建立和使用的。詳情請檢視:php資源型別(resource)

null(null):表示乙個變數沒有值。null 型別唯一可能的值就是 null。

注意:

可能還會讀到一些關於「雙精度(double)」型別的參考。實際上 double 和 float 是相同的,由於一些歷史的原因,這兩個名稱同時存在。

變數的型別通常不是由程式設計師設定的,是由 php 根據該變數使用的上下文在執行時決定的。也就是說,php是弱型別的語言,程式設計師在宣告變數時無需宣告變數型別,php直譯器會自動識別。 

0,0.0 ,'','0',false,array(),null

null:3中情況:【直接賦值為null、未定義的變數、unset銷毀的變數】

const和define的區別:定義:const、define(const更快,是語言結構,define是函式)

1、const用於類成員變數的定義,一經定義,不可修改。define不可以用於類成員變數的定義,可用於全域性常量。

2、const可在類中使用,define不能

3、const不能再條件語句中定義常量

<?php

if (...)

if (...)

4、const採用普通的常量名稱,define可以採用表示式作為名稱

<?php

const foo = 'bar';

$i = 1;

define('bit_' . $i, 1 << $i);

?>

5、const只能接受靜態的標量,而define可以採用任何表示式

<?php

const bit_5 = isset($i) ? $i: 0; // 無效的invalid

define('bit_5', isset($i) ? $i: 0); // 有效的valid

6、const定義的常量時大小寫敏感,而define可以通過第三個引數(為true表示大小寫不敏感)來指定大小寫是否敏感。

<?php

define('demo', 'hehe', true);

echo demo; // hehe

echo demo; // hehe

<?php

echo 'php常用的預定義常量'.'

'; echo '當前php的版本為(php_version):'.php_version.'

'; echo '當前所使用的作業系統型別(php_os):'.php_os.'

'; echo 'web伺服器與php之間的介面為(php_sapi):'.php_sapi.'

'; echo '最大的整型數(php_int_max):'.php_int_max.'

'; echo 'php預設的包含路徑(default_include_path):'.default_include_path.'

'; echo 'pear的安裝路徑(pear_install_dir):'.pear_install_dir.'

'; echo 'pear的擴充套件路徑(pear_extension_dir):'.pear_extension_dir.'

'; echo 'php的執行路徑(php_bindir):'.php_bindir.'

'; echo 'php擴充套件模組的路徑為(php_libdir):'.php_libdir.'

'; echo '指向最近的錯誤處(e_error):'.e_error.'

'; echo '指向最近的警告處(e_warning):'.e_warning.'

'; echo '指向最近的注意處(e_notice):'.e_notice.'

'; echo '自然對數e值(m_e):'.m_e.'

'; echo '數學上的圓周率的值(m_pi):'.m_pi.'

'; echo '邏輯真值(true):'.true.'

'; echo '邏輯假值(false):'.false.'

'; echo '當前檔案行數(__line__):'.__line__.'

'; //是兩個下劃線

echo '當前檔案路徑名(__file__):'.__file__.'

'; echo '

'.'當前被呼叫的函式名(__function__):'.__function__.'

'; echo '類名(__class__):'.__class__.'

'; echo '類的方法名(__method__):'.__method__.'

';

echo '命名空間(__namespace__):'.__namespace__.'

';

PHP 資料型別及常量

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

php常量及資料型別

1 php中的字串可以使用的三種定義方法及其區別 定義方式 單引號,雙引號,heredoc和newdoc 區別 1 單引號不能解析變數 2 單引號不能解析轉義字元,只能解析單引號和反斜線本身 3 單引號效率更高 4 變數和變數,變數和字串,字串和字串之間可以用.連線 5 雙引號可以使用特殊字元和 包...

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

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