一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP數(shù)據(jù)類型的總結(jié)分析

php共有8中數(shù)據(jù)類型:

類型名稱類型表示取值
bool布爾型true,false
integer整型-2147483647-2147483648
string字符串型字符串長度取決于機(jī)器內(nèi)存
float浮點(diǎn)型最大值1.8e308
object對(duì)象通過new實(shí)例化 $obj=new person();
array數(shù)組類型$arr=array(1,2,3,4,5,6);//一維數(shù)組
resourse
null空值null

布爾型bool :
對(duì)于其他類型我們可以使用(bool)或者(boolean) 進(jìn)行強(qiáng)制轉(zhuǎn)換 eg:(bool)1=true;
以下幾種情況在強(qiáng)制轉(zhuǎn)化的時(shí)候默認(rèn)為false:

轉(zhuǎn)換結(jié)果
布爾型的false var_dump((bool) false)bool(false)
整型0 var_dump((bool) 0);bool(false)
浮點(diǎn)型0.0 var_dump((bool) 0.0);bool(false)
字符串‘0' var_dump((bool) '0');bool(false)
空數(shù)組$arr=array(); var_dump((bool) $arr)bool(false)
不包含任何成員變量的空對(duì)象只在php4使用,php5中為truebool(false)
NULL或者尚未賦值的變量var_dump((bool) NULL)bool(false)
從沒有任何標(biāo)記(tags)的XML文檔生成的SimpleXML 對(duì)象bool(false)

字符串'0.0'轉(zhuǎn)換結(jié)果為bool(true)
注:-1和其他非零值(不論正負(fù))都是true

整型integer:
整型的范圍-2147483647--2147483647 ,如果超過該值會(huì)自動(dòng)轉(zhuǎn)換成float型
我們可以使用echo php_INT_SZIE 輸出integer的字長,和機(jī)器有關(guān)。echo php_INT_MAX 輸出integer的最大值
php中沒有整除運(yùn)算 如果執(zhí)行 1/2 會(huì)產(chǎn)生 float的0.5 如果想實(shí)現(xiàn)整除效果,則可以使用 (int)(1/2)=0 或者使用round(25/7)=4
強(qiáng)制轉(zhuǎn)化成整型 (int)或者(integer) bool型 ture 轉(zhuǎn)換成 1 ,false轉(zhuǎn)換成0

浮點(diǎn)型float:
取值范圍 最大值 :1.8e308 不知道最小值是多少? 求高手告知
浮點(diǎn)數(shù)的字長也和機(jī)器有關(guān), 好像沒有php_FLOAT_SIZE 啊,求高手告知如何的到浮點(diǎn)數(shù)字長

字符串類型string:
定義字符串的4種方法:
1.單引號(hào)
2.雙引號(hào)
3.heredoc語法結(jié)構(gòu)
4.nowdoc 語法結(jié)構(gòu)(php5.3.0之后)
單引號(hào)
單引號(hào)定義了最原始的字符串,里面的所有內(nèi)容都按字符串處理,如果字符串中包含單引號(hào)則可以用/轉(zhuǎn)義
雙引號(hào)
雙引號(hào)定義的字符串會(huì)解析一些特殊字符(/n,/b)和變量
可以將變量放置在雙引號(hào)中的方式來代替將變量轉(zhuǎn)換成 字符串(string):
$num=10;
$str = "$num"; //$str為字符串型的10
heredoc語法結(jié)構(gòu)
<<<標(biāo)示符
字符串本身
標(biāo)示符
結(jié)束時(shí)的標(biāo)示符必須在一行的開始位置,而且標(biāo)示符的定義格式也必須按照php定義的規(guī)則,只能包含數(shù)字,字母,下劃線,并且不能以數(shù)字下劃線開頭
結(jié)束標(biāo)示符哪一行不允許有其他字符,可以在標(biāo)示符后面添加一個(gè)分號(hào),切分號(hào)前后也不能有tab或空格,否則php將無法解析該標(biāo)示符,會(huì)繼續(xù)向下查找標(biāo)示符,如果在文件結(jié)尾前仍沒有找到則會(huì)產(chǎn)生一個(gè)錯(cuò)誤
heredoc就是一個(gè)沒有使用雙引號(hào)的雙引號(hào),就是里面可以包含雙引號(hào),且不用轉(zhuǎn)義,而且可以解析特殊字符和變量
nowdoc 語法結(jié)構(gòu)
<<<'標(biāo)示符'
字符串本身
nowdoc的開始標(biāo)示符必須使用單引號(hào)括起來,結(jié)束標(biāo)示符和其他規(guī)則都和heredoc一樣
nowdoc就是沒有使用單引號(hào)的單引號(hào),nowdoc包含的字符串會(huì)原樣輸出,里面包含的特殊字符和變量不會(huì)被解析

如果雙引號(hào)中包含數(shù)組變量中的幾種情況
//我們先定義以下數(shù)組
復(fù)制代碼 代碼如下:
[php]
$arr=array(
'one'=>array(
'name'=>'jiangtong',
'sex'=>'男'
),
'two'=>'zhaohaitao',
'three'=>'fanchangfa'
);

上面是的數(shù)組中第一個(gè)元素二維的,后兩個(gè)是一維的,我們?cè)L問一維的時(shí)候下面幾種方式:
復(fù)制代碼 代碼如下:
[php]
echo "$arr[two]"http://key沒有單引號(hào)
echo "$arr['two']"http://key有單引號(hào) 會(huì)出錯(cuò),如果我們改成 echo "{$arr['two']}"; 則可以正確輸出結(jié)果
echo "{$arr[two]}"http://有雙大括號(hào),但是key沒有單引號(hào) 這種情況php會(huì)先尋找有沒有常量banana,有的話則將其

替換,由于沒有two常量則出錯(cuò)<span style="font-family: 'Courier New'; "> </span>
可見在訪問一維數(shù)組的時(shí)候 要么不加key不加引號(hào)(考慮到第三種情況啊),加了就要被{}括起來,可以全不加。
多維數(shù)組測(cè)試
復(fù)制代碼 代碼如下:
[php]
echo "$arr[one][name]"; //輸出結(jié)果為Array[name] 可見它返回了一個(gè)數(shù)組,只解析了一維
echo"{$arr['one']['name']}";//輸出結(jié)果為jiangtong

在多維數(shù)組的訪問中必須使用了大括號(hào)key必須使用雙引號(hào)括起來

數(shù)組類型
在字符串類型中已經(jīng)提到,被大括號(hào)括起來的,如果不加key引號(hào),是合法的,那么php首先會(huì)查找是否有名為key的常量,有的話就會(huì)被替換,沒有的話會(huì)產(chǎn)生一個(gè)找不到常量的警告才按普通字符串處理,所以建議大家一定加單引號(hào)
轉(zhuǎn)換成數(shù)組使用(array)type 或者array(type) ,但是如果將只有一個(gè)值的轉(zhuǎn)換成數(shù)組,會(huì)得到一個(gè)元素的數(shù)組,且下標(biāo)為0,將NULL轉(zhuǎn)換成數(shù)組會(huì)得到空的數(shù)組
我們可以在遍歷數(shù)組的時(shí)候改變數(shù)組的值,在php5.0以上可以使用引用實(shí)現(xiàn)
復(fù)制代碼 代碼如下:
[php]
$arr=array('a','b','c','d','e' );
foreach($arr as &$value)
{
$value=strtoupper($value);
echo $value;
}//輸出結(jié)果 ABCDE

Object對(duì)象類型
實(shí)例化對(duì)象我們使用new 加入有一個(gè)person類,我們可以通過以下方式
復(fù)制代碼 代碼如下:
[php]
$objPerson=new person();

強(qiáng)制轉(zhuǎn)換 (object): 如果將一個(gè)對(duì)象轉(zhuǎn)化成對(duì)象那么它沒有任何改變,對(duì)于其他任何值將會(huì)實(shí)例化一個(gè)stdclass的對(duì)象,如果該值為NULL,則會(huì)實(shí)例化一個(gè)空對(duì)象,如果 將數(shù)組轉(zhuǎn)換成對(duì)象那么會(huì)將數(shù)組的key作為對(duì)象的屬性,value為屬性值,其他類型的值則名為Scalar的成員變量包含該值
復(fù)制代碼 代碼如下:
[php]
$arr=array('one'=>'a','two'=>'b' );
$obj=(object)$arr;
echo $obj->one //輸出結(jié)果為a;

注:這是由key的數(shù)組如果沒有字符key的數(shù)組,我不知道如何訪問,誰知道希望告訴小弟一下,謝謝。
對(duì)于其他值
復(fù)制代碼 代碼如下:
[php]
$obj1=(object)'jiang';
echo $obj1->Scalar;//輸出結(jié)果jiang

NULL 空類型
null大小寫不敏感,NULL類型只有一個(gè)取值,表示一個(gè)變量沒有值,下面三種情況變量被認(rèn)為為NULL
1.被賦值為NULL
2.尚未被賦值
3.被unset();

php type comparison tables
Comparisons of $x with php functions
Expressiongettype()empty()is_null()isset()boolean :if($x)
$x = "";stringTRUEFALSETRUEFALSE
$x = nullNULLTRUETRUEFALSEFALSE
var $x;NULLTRUETRUEFALSEFALSE
$x is undefinedNULLTRUETRUEFALSEFALSE
$x = array();arrayTRUEFALSETRUEFALSE
$x = false;booleanTRUEFALSETRUEFALSE
$x = true;booleanFALSEFALSETRUETRUE
$x = 1;integerFALSEFALSETRUETRUE
$x = 42;integerFALSEFALSETRUETRUE
$x = 0;integerTRUEFALSETRUEFALSE
$x = -1;integerFALSEFALSETRUETRUE
$x = "1";stringFALSEFALSETRUETRUE
$x = "0";stringTRUEFALSETRUEFALSE
$x = "-1";stringFALSEFALSETRUETRUE
$x = "php";stringFALSEFALSETRUETRUE
$x = "true";stringFALSEFALSETRUETRUE
$x = "false";stringFALSEFALSETRUETRUE
Loose comparisons with ==
TRUEFALSE10-1"1""0""-1"NULLarray()"php"""
TRUETRUEFALSETRUEFALSETRUETRUEFALSETRUEFALSEFALSETRUEFALSE
FALSEFALSETRUEFALSETRUEFALSEFALSETRUEFALSETRUETRUEFALSETRUE
1TRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE
0FALSETRUEFALSETRUEFALSEFALSETRUEFALSETRUEFALSETRUETRUE
-1TRUEFALSEFALSEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSE
"1"TRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE
"0"FALSETRUEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSE
"-1"TRUEFALSEFALSEFALSETRUEFALSEFALSETRUEFALSEFALSEFALSEFALSE
NULLFALSETRUEFALSETRUEFALSEFALSEFALSEFALSETRUETRUEFALSETRUE
array()FALSETRUEFALSEFALSEFALSEFALSEFALSEFALSETRUETRUEFALSEFALSE
"php"TRUEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSE
""FALSETRUEFALSETRUEFALSEFALSEFALSEFALSETRUEFALSEFALSETRUE


Strict comparisons with ===
TRUEFALSE10-1"1""0""-1"NULLarray()"php"""
TRUETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE
FALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE
1FALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE
0FALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSE
-1FALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSEFALSE
"1"FALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSEFALSE
"0"FALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSEFALSE
"-1"FALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSEFALSE
NULLFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSEFALSE
array()FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSE
"php"FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSE
""FALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUE


php技術(shù)PHP數(shù)據(jù)類型的總結(jié)分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产一区在线观看视频 | 黄色网址视频在线观看 | 99热这里只有精品88 | 国产精品麻豆免费版 | 白嫩美女一级毛片免费看 | 深夜福利小视频 | 看全色黄大色黄女片做 | 亚色中文| 亚洲精品中文字幕乱码三区一二 | 婷婷爱五月 | 色老板在线看 | 国内精品伊人久久久久7777人 | 亚洲成a人片777777久久 | 在线视频国产一区 | 91正在 播放 | 亚洲综合色就色手机在线观看 | 国产精品亚洲二区在线 | 久久五月激情婷婷日韩 | 国产美女精品久久久久久久免费 | 亚洲国产高清一区二区三区 | 国产精品欧美韩国日本久久 | 国产精品视频九九九 | 精品国产免费一区二区三区 | 国产在视频线精品视频 | 久久精品国产999久久久 | 国内福利视频 | 99精品久久久久久久免费看蜜月 | 久久这里一区二区精品 | 9191在线精品播放 | 99久久香蕉国产线看观香 | 亚洲高清二区 | 九九99re在线视频精品免费 | 中文字幕在线精品视频万部 | 夜夜爽天天狠狠九月婷婷 | 欧美精品日韩一区二区三区 | 午夜黄色福利 | 一级做a爰片性色毛片男 | 国产高清免费午夜在线视频 | 精品国产亚洲一区二区三区 | 中文字幕日韩精品亚洲七区 | 欧美videos在线观看 |