欧美一级视-欧美一级视频高清片-欧美一级视频免费-欧美一级视频免费观看-午夜激情视频在线播放-午夜激情视频在线观看

咨詢電話:
15628812133
13
2017/08

PHP 數據類型

發布時間:2017-08-13 22:26:05
發布者:pengyifeng
瀏覽量:
0

四種標題類型

boolean(布爾型)

integer(整型)

float(浮點型,也稱作 double)

string(字符串)


三種復合類型

array(數組)

object(對象)

callable(可調用)


兩種特殊類型

resource(資源)

NULL(無類型)


偽類型

mixed(混合類型)

number(數字類型)

callback(回調類型,又稱為 callable)

array|object(數組 | 對象類型)

void (無類型)


獲取變量的類型

gettype — 獲取變量的類型

string gettype ( mixed $var )


檢測變量的類型

is_array — 檢測變量是否是數組

is_bool — 檢測變量是否是布爾型

is_callable — 檢測參數是否為合法的可調用結構

is_double — is_float 的別名

is_float — 檢測變量是否是浮點型

is_int — 檢測變量是否是整數

is_integer — is_int 的別名

is_iterable — Verify that the contents of a variable is an iterable value

is_long — is_int 的別名

is_null — 檢測變量是否為 NULL

is_numeric — 檢測變量是否為數字或數字字符串

is_object — 檢測變量是否是一個對象

is_real — is_float 的別名

is_resource — 檢測變量是否為資源類型

is_scalar — 檢測變量是否是一個標量

is_string — 檢測變量是否是字符串

isset — 檢測變量是否設置

is_nan — 判斷是否為合法數值


變量類型轉換

settype — 設置變量的類型

bool settype ( mixed &$var , string $type )


       “boolean” (或為“bool”,從 PHP 4.2.0 起)
type取值

integer” (或為“int”,從 PHP 4.2.0 起)

float” (只在 PHP 4.2.0 之后可以使用,對于舊版本中使用的“double”現已停用)

string"

array"

object"

null” (從 PHP 4.2.0 起)


類型強制轉換

(int), (integer) - 轉換為整形 integer

(bool), (boolean) - 轉換為布爾類型 boolean

(float), (double), (real) - 轉換為浮點型 float

(string) - 轉換為字符串 string

(array) - 轉換為數組 array

(object) - 轉換為對象 object

(unset) - 轉換為 NULL (PHP 5)


Boolean 布爾類型

這是最簡單的類型。boolean 表達了真值,可以為 TRUE 或 FALSE。


轉換為布爾值

要明確地將一個值轉換成 boolean,用 (bool) 或者 (boolean) 來強制轉換。

但是很多情況下不需要用強制轉換,因為當運算符,函數或者流程控制結構需要一個 boolean 參數時,該值會被自動轉換。

當轉換為 boolean 時,以下值被認為是 FALSE:

布爾值 FALSE 本身

整型值 0(零)

浮點型值 0.0(零)

空字符串,以及字符串 "0"

不包括任何元素的數組

特殊類型 NULL(包括尚未賦值的變量)

從空標記生成的 SimpleXML 對象

-1 和其它非零值(不論正負)一樣,被認為是 TRUE!


Integer 整型

整型值可以使用十進制,十六進制,八進制或二進制表示,前面可以加上可選的符號(- 或者 +)。


整數溢出

如果給定的一個數超出了 integer 的范圍,將會被解釋為 float。

同樣如果執行的運算結果超出了 integer 范圍,也會返回 float。


布爾值轉換成整型

FALSE 將產生出 0(零),TRUE 將產生出 1(壹)。


浮點型轉成整型

當從浮點數轉換成整數時,將向下取整。

echo (int)3.12; # 輸出3


字符串轉成整型


Float 浮點型

浮點型(也叫浮點數 float,雙精度數 double 或實數 real)可以用以下任一語法定義:


浮點數的精度

所以永遠不要相信浮點數結果精確到了最后一位,也永遠不要比較兩個浮點數是否相等。

如果確實需要更高的精度,應該使用任意精度數學函數或者 gmp 函數。

echo floor((0.1+0.7)*10); # 輸出7


String 字符串

一個字符串 string 就是由一系列的字符組成,其中每個字符等同于一個字節。

這意味著 PHP 只能支持 256 的字符集,因此不支持 Unicode 。

string 最大可以達到 2GB。


4種方式表達

單引號

雙引號

heredoc 語法結構

nowdoc 語法結構(自 PHP 5.3.0 起)


單引號

不像雙引號和 heredoc 語法結構,在單引號字符串中的變量和特殊字符的轉義序列將不會被替換。


雙引號

用雙引號定義的字符串最重要的特征是變量會被解析。

轉義字符含義
\n換行(ASCII 字符集中的 LF 或 0x0A (10))
\r回車(ASCII 字符集中的 CR 或 0x0D (13))
\t水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
\v垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
\eEscape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
\f換頁(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
\反斜線
\$美元標記
\"雙引號
[0-7]{1,3}符合該正則表達式序列的是一個以八進制方式來表達的字符
\x[0-9A-Fa-f]{1,2}符合該正則表達式序列的是一個以十六進制方式來表達的字符


heredoc類似于雙引號可以解析變量

```php$name = 'Hello';echo <<


nowdoc類似于單引號不會解析變量

$name = 'Hello';echo <<<'EOD'
里面的變量$name不會解析。
EOD;


轉換成字符串

一個值可以通過在其前面加上 (string) 或用 strval() 函數來轉變成字符串。

一個布爾值 boolean 的 TRUE 被轉換成 string 的 "1"。Boolean 的 FALSE 被轉換成 ""(空字符串)。

這種轉換可以在 boolean 和 string 之間相互進行。

數組 array 總是轉換成字符串 "Array"。

資源 resource 總會被轉變成 "Resource id #1" 這種結構的字符串。

NULL 總是被轉變成空字符串。


字符串轉成數值

Array數組

PHP 中的數組實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。


定義數組 array()

可以用 array() 語言結構來新建一個數組。它接受任意數量用逗號分隔的 鍵(key) => 值(value)對。

 "bar",    "bar" => "foo",
);// 自 PHP 5.4 起$array = [    "foo" => "bar",    "bar" => "foo",
];?>

key 會有如下的強制轉換

包含有合法整型值的字符串會被轉換為整型。例如鍵名 "8" 實際會被儲存為 8。但是 "08" 則不會強制轉換,因為其不是一個合法的十進制數值。

浮點數也會被轉換為整型,意味著其小數部分會被舍去。例如鍵名 8.7 實際會被儲存為 8。

布爾值也會被轉換成整型。即鍵名 true 實際會被儲存為 1 而鍵名 false 會被儲存為 0。

Null 會被轉換為空字符串,即鍵名 null 實際會被儲存為 ""。

數組和對象不能被用為鍵名。堅持這么做會導致警告:Illegal offset type。


數組類型

數字索引數組(下標為數字)

關聯數組(鍵值對)


數組遍歷

$arr = ['one'=>'First', 'two'=>'Second'];foreach ($arr as $key => $value)
{    echo '$key=' . "$key" . "
";    echo '$value=' . "$value" . "
"; }


Object 對象


對象初始化

要創建一個新的對象 object,使用 new 語句實例化一個類:

do_foo();?>


轉換為對象

如果將一個對象轉換成對象,它將不會有任何變化。

如果其它任何類型的值被轉換成對象,將會創建一個內置類 stdClass 的實例。

 'foo');
var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
var_dump(key($obj)); // outputs 'int(1)'?>

對于其他值,會包含進成員變量名 scalar。

scalar;  // outputs 'ciao'?>


Resource 資源類型

資源 resource 是一種特殊變量,保存了到外部資源的一個引用。

資源是通過專門的函數來建立和使用的。


轉換為資源

由于資源類型變量保存有為打開文件、數據庫連接、圖形畫布區域等的特殊句柄,因此將其它類型的值轉換為資源沒有意義。


釋放資源

PHP也有垃圾自動回收機制,可以自動檢測到一個資源不再被引用了。

持久數據庫連接比較特殊,它們不會被垃圾回收系統銷毀。


NULL

特殊的 NULL 值表示一個變量沒有值。NULL 類型唯一可能的值就是 NULL。

在下列情況下一個變量被認為是 NULL

被賦值為 NULL。

尚未被賦值。

被 unset()。


轉換到 NULL

使用 (unset) $var 將一個變量轉換為 null 將不會刪除該變量或 unset 其值。僅是返回 NULL 值而已。


mixed

mixed 說明一個參數可以接受多種不同的(但不一定是所有的)類型。

例如 gettype() 可以接受所有的 PHP 類型,str_replace() 可以接受字符串和數組。


number

number 說明一個參數可以是 integer 或者 float。


array|object

array|object 意思是參數既可以是 array 也可以是 object。


void

void 作為返回類型意味著函數的返回值是無用的。

void 作為參數列表意味著函數不接受任何參數。


php如何聲明定義數組

索引數組

默認下標或帶有數字索引的數組

關聯數組

鍵名不為純數字帶有指定值如標識符的數組

有關鍵值的說明

鍵(key)可以是一個整數integer或字符串string

值(value)可以是任意類型的值

直接為元素賦值

$myarr['Q'] = "Q";$myarr[] = "A";$myarr[] = "B";$myarr[2] = "B";
print_r($myarr);#在php中數據可以動態改變長度。并且會默認按下標進行賦值。

使用array函數進行賦值

#一維數組$myarr = array("A","B","C");foreach($myarr as $key => $value){    echo "key=".$key;    echo "value=".$value;    echo "
";
}#多維數組,遞歸輸出數組值function myfun(array $myarr){    foreach($myarr as $key => $value){        if(is_array($value)){
            myfun($value);
        }else{            echo "key=".$key;            echo "value=".$value;            echo "
";
        }
    }
}$myarr = array("A"=>array("1"=>array("a","b","c"),"2","3"),"B","C");echo myfun($myarr)."維數組";


php如何調用數組方法

array_keys()返回數組中所有的鍵名

$myarr = array("A","B","C");
print_r(array_keys($myarr));

array_values()返回數組中所有的值

$myarr = array("A","B","C");
print_r(array_values($myarr));


php如何對數組查、增、改、刪

查array_search()數組值查找

#返回查找到的元素下標$myarr = array("A","B","C");echo array_search("B",$myarr);

增array_push()隊尾添加數據

#返回增加后數組的大小$myarr = array("A","B","C");echo array_push($myarr,"D");
print_r($myarr);

改array_chunk()一維轉多維

$myarr = array("A","B","C");$myarr = array_chunk($myarr,2,true);
print_r($myarr);

刪array_unique()

#返回刪除重復元素后的數組$myarr = array("A","B","C","B");
print_r(array_unique($myarr));#unset無返回值$myarr = array("A","B","C");unset($myarr[2]);

合并array_merge()

$myarr1 = array("one","two");$myarr2 = array("three","four");$myarr3 = array_merge($myarr1, $myarr2);
print_r($myarr3);


php如何進行數據類型轉換

類C強制轉換

#第一種轉換方式: (int)  (bool)  (float)  (string)  (array) (object)2.$num1=3.14;3.$num2=(int)$num1;4.var_dump($num1); //輸出float(3.14)5.var_dump($num2); //輸出int(3)

獲取變量整數、浮點、字符串值

#第二種轉換方式:  intval()  floatval()  strval()2.$str="123.9abc";3.$int=intval($str);     //轉換后數值:1234.$float=floatval($str); //轉換后數值:123.95.$str=strval($float);   //轉換后字符串:"123.9"

使用settype()封裝函數

#bool settype ( mixed &$var , string $type )
type 的可能值為:
“boolean” (或為“bool”,從 PHP 4.2.0 起)
“integer” (或為“int”,從 PHP 4.2.0 起)
“float” (只在 PHP 4.2.0 之后可以使用,對于舊版本中使用的“double”現已停用)"string""array""object"
“null” (從 PHP 4.2.0 起)2.$num4=12.8;3.$flg=settype($num4,"int");4.var_dump($flg);  //輸出bool(true)5.var_dump($num4); //輸出int(12)


php如何處理進制轉換

十進制轉二進制decbin()

echo decbin(12); //輸出 1100

十進制轉八進制 decoct()

echo decoct(15); //輸出 17

十進制轉十六進制 dechex()

echo dechex(10); //輸出 a

二進制轉十六制進 bin2hex()

$binary = "11111001";$hex = dechex(bindec($binary));echo $hex;//輸出f9

二進制轉十制進 bindec()

echo bindec('110011'); //輸出 51

八進制轉十進制 octdec()

echo octdec('77'); //輸出 63

十六進制轉十進制 hexdec()

echo hexdec("F"); //輸出 15

任意進制轉換 base_convert()

$hexadecimal = 'A37334';echo base_convert($hexadecimal, 16, 2);//輸出 101000110111001100110100


關鍵詞:
返回列表
国产一级生活片| 欧美1卡一卡二卡三新区| 九九精品在线播放| 国产一区二区精品久久91| 亚洲 激情| 日韩免费片| 黄视频网站在线看| 亚欧成人毛片一区二区三区四区| 久久国产精品自由自在| 国产高清在线精品一区a| 日韩在线观看视频黄| 日本乱中文字幕系列| 国产不卡福利| 美女免费毛片| 韩国毛片 免费| 精品久久久久久中文| 色综合久久久久综合体桃花网| 国产成人精品一区二区视频| 日本免费乱理伦片在线观看2018| 国产伦精品一区三区视频| 天天色色网| 国产伦精品一区二区三区在线观看| 亚洲天堂免费| 99色视频在线观看| 国产伦久视频免费观看 视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产不卡精品一区二区三区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 四虎影视久久久| 四虎影视久久| 韩国三级香港三级日本三级| 日本在线www| 在线观看导航| 你懂的日韩| 成人a级高清视频在线观看| 日韩专区一区| 久久精品欧美一区二区| 国产成人精品综合久久久| 欧美1区| 亚洲精品中文字幕久久久久久| 国产成人精品综合在线| 四虎影视久久| 成人影院久久久久久影院| 你懂的福利视频| 在线观看成人网 | 日本免费乱理伦片在线观看2018| 亚洲精品影院| 亚洲精品中文字幕久久久久久| 成人av在线播放| 日韩一级黄色| 亚洲不卡一区二区三区在线 | 色综合久久手机在线| 国产成人精品在线| 一级女性大黄生活片免费| 久草免费在线视频| 免费毛片播放| 黄色短视频网站| 青青久久精品国产免费看| 国产精品自拍在线| 美女免费黄网站| 国产国语在线播放视频| 欧美日本韩国| 欧美日本韩国| 亚洲 激情| 国产伦理精品| 欧美激情一区二区三区视频| 九九免费精品视频| 精品在线观看国产| 国产福利免费观看| 天天做日日干| 九九精品久久久久久久久| 日日夜夜婷婷| 麻豆系列 在线视频| 国产极品精频在线观看| 国产不卡在线观看| 亚欧成人毛片一区二区三区四区| 欧美大片一区| 久久成人亚洲| 日韩在线观看视频免费| 999精品视频在线| 青青青草影院| 精品视频在线看 | 黄色免费三级| 黄色免费网站在线| 成人高清免费| 国产精品123| 黄视频网站在线免费观看| 999久久久免费精品国产牛牛| 精品国产一区二区三区久久久蜜臀| 韩国三级香港三级日本三级la| 国产成人啪精品视频免费软件| 色综合久久天天综合观看| 国产精品自拍在线观看| 国产视频久久久| 黄视频网站在线观看| 美女免费黄网站| 99久久精品国产片| 精品久久久久久综合网| 日韩一级黄色| 亚洲精品影院一区二区| 午夜激情视频在线播放| 天天做人人爱夜夜爽2020毛片| 国产网站麻豆精品视频| 欧美日本韩国| 欧美另类videosbestsex高清| 黄视频网站免费观看| 久久精品大片| a级黄色毛片免费播放视频 | 国产福利免费观看| 欧美一级视| 免费一级片网站| 一本伊大人香蕉高清在线观看| 青青青草影院| 精品国产一区二区三区久久久蜜臀| 国产伦精品一区二区三区无广告| 一a一级片| 色综合久久久久综合体桃花网| 黄视频网站免费观看| 成人免费观看视频| 精品视频在线观看视频免费视频| 国产a网| 日韩中文字幕在线亚洲一区| 99色视频在线观看| 黄色免费网站在线| 国产一区二区精品| 国产精品自拍在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美a免费| 国产高清在线精品一区二区| 精品视频在线看| 日韩中文字幕在线观看视频| 精品久久久久久免费影院| 欧美18性精品| 色综合久久天天综合观看| 美女免费精品视频在线观看| 久久精品店| 香蕉视频一级| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产福利免费观看| 国产伦精品一区二区三区无广告| 999久久狠狠免费精品| 高清一级片| 国产一区二区精品久久91| 天天做日日干| 99久久精品国产高清一区二区| 午夜欧美成人久久久久久| 青青久久精品国产免费看| 四虎影视库国产精品一区| 国产不卡高清在线观看视频| 国产激情一区二区三区| 毛片成人永久免费视频| 尤物视频网站在线观看| 国产伦精品一区二区三区无广告| 欧美大片毛片aaa免费看| 成人高清视频免费观看| 欧美a级片视频| 国产不卡在线看| 香蕉视频一级| 成人免费网站久久久| 国产伦久视频免费观看 视频 | 欧美大片a一级毛片视频| 成人免费网站久久久| 国产一区二区精品| 99久久精品国产高清一区二区 | 可以免费看污视频的网站| 美女免费黄网站| 欧美日本二区| 九九九在线视频| 日本在线不卡免费视频一区| 精品久久久久久综合网| 久草免费资源| 日韩av成人| 麻豆网站在线免费观看| 国产一区二区精品久久| 麻豆网站在线看| 黄视频网站在线免费观看| 精品久久久久久中文字幕2017| 精品视频一区二区三区| 国产精品免费久久| 国产亚洲精品成人a在线| 国产成人精品影视| 日本特黄特色aaa大片免费| 欧美爱爱动态| 久久精品大片| 一本高清在线| 午夜激情视频在线观看| 精品视频一区二区三区免费| 精品国产一区二区三区久久久狼| 九九免费高清在线观看视频| 麻豆午夜视频| 国产91精品系列在线观看| 国产综合成人观看在线| 99热精品一区| 成人免费观看男女羞羞视频| 免费的黄视频| 99热精品在线| 日本免费乱理伦片在线观看2018| 美女免费毛片| 91麻豆精品国产自产在线| 999久久久免费精品国产牛牛|