字串定義方式:單引號、雙引號、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 ...