PHP實踐之路(目錄索引)
PHP中的數據類型
1、四種標量類型
boolean(布爾型):取值爲true和false兩者之一,並且不區分大小寫
注意:a、強制轉換爲布爾型型時可以採用(bool)或者(boolean)
b、當轉換爲布爾型時,以下值被認爲是false。除以下情況其他都爲true
1)boolean型false本身
2)整形0
3)浮點型0.0
4)空字符串或者字符串“0”
5)不包含任何元素的數組
6)沒有成員變量的對象
7)特殊類型 NULL(包括尚未設定的變量)
9)從沒有任何標記(tags)的XML文檔生成的SimpleXML對象
我們可以用var_dump系統函數來打印變量相關的信息
接下來是實驗時間
$flag=true;
var_dump($flag); //boolean true
$flag=(bool)"";
var_dump($flag); //boolean false
$flag=(bool)-1;
var_dump($flag); //boolean true
$flag=(boolean)array();
var_dump($flag); //boolean false
$flag=(boolean)"0";
var_dump($flag); //boolean false
$flag=(boolean)NULL;
var_dump($flag); //boolean false
integer(整型):可以用八進制、十進制和十六進制表示。其中八進制前面加0,十六進制前面加0x
注意:a、強制轉換爲整型時可以用(int)或者(integer)
b、integer的字長可以用常量PHP_INT_SIZE,最大值可以採用PHP_INT_MAX
c、當給定的數大於一個integer時將被解釋爲float類型
d、布爾型的false轉換爲integer時爲0,true爲1
e、浮點數float轉換爲integer時結果爲向零取整
f、php中沒有整除的概念,需要整除時可以採用強制轉換爲integer,也可以採用一些數學函數,如round()、ceil()、floor()等
接下來是實驗時間
$num=10;
var_dump($num); //int 10
$num=013;
var_dump($num); //int 11
$num=0x14;
var_dump($num); //int 20
echo PHP_INT_SIZE; //4
echo "<br />"; //換行顯示
echo PHP_INT_MAX; //2147483647
$num=2147483648;
var_dump($num); //float 2147483648
$flag=true;
var_dump((int)$flag); //int 1
$flag=false;
var_dump((int)$flag); //int 0
$num=12.45;
var_dump((int)$num); //12
$num=-12.45;
var_dump((int)$num); //-12;
var_dump(5/2); //float 2.5
var_dump(round(5/2)); //float 3
var_dump(ceil(5/2)); //float 3;
var_dump(ceil(-5/2)); //float -2;
var_dump(floor(5/2)); //float 2
float(浮點數):浮點數只有一個需要注意的地方就是它可以用科學技術法來表示
如1.2e1=12
3.56e3=3560
做個簡單的實驗
$num=1.2e1;
var_dump($num); //float 12
$num=3.56e3;
var_dump($num); //float 3560
string(字符串):由一系列的字符組成,一個字符就是一個字節
a、單引號‘’定義字符串,該字符串原樣輸出
b、雙引號“”定義字符串,該字符串和單引號的區別在於該串中的一些如變量之類的會被解釋爲變量
c、反應好··定義命令,如·cmd·
d、轉移字符反斜槓\,如\n換行
試驗時間到
$str='lily said:"hello"'; //lily said:"hello"
echo $str;
echo "<br />"; //換行顯示
$str="lily said:'hello'"; //lily said:'hello'
echo $str;
echo "<br />"; //換行顯示
$str='lily said:"hello"$str'; //lily said:"hello"$str
echo $str;
echo "<br />"; //換行顯示
$str2="lily said:'hello'$str"; //lily said:'hello'lily said:"hello"$str
echo $str2;
echo "<br />"; //換行顯示
$str=`cmd`;
echo $str; //Microsoft Windows XP [版本 5.1.2600] (C) 版權所有 1985-2001 Microsoft Corp. D:\php_workspace\first_php>
echo "<br />"; //換行顯示
$str="hi\nlily";
echo "<br />"; //換行顯示
echo $str; //hi lily
$str='hi\nlily';
echo "<br />"; //換行顯示
echo $str; //hi\nlily
2、兩種符合類型
array(數組):PHP 中的 數組 實際上是一個有序映射,相當於java中的map對象,每個元素都是一個key-value鍵值對
a、定義數組用array()。格式爲
array( key => value , ... )
其中key可以是整數或者是字符串,value可以是任何類型
b、使用方括號[ ]的方式來新建或者修改數組值,如果在新建或者修改值時該數組還未定義則此時新建了一個數組。
c、刪除一個數組或數組值時可以用unset函數。如刪除某一項時unset($arr[1]),刪除整個數組時unset($arr)
d、數組的遍歷,可以使用簡單的for循環,也可以使用foreach,在java、C#中叫增強for循環
我們實驗吧
<?php
$arr=array(1,2,3,4,5);
$count=count($arr);
for($i=0;$i<$count;$i++){
echo $arr[$i]."\n";
}
echo "<br />";
$arr[]=6; //新建一項
foreach($arr as $val){
echo $val."\n";
}
unset($arr[4]);
$arr[3]=8; //修改一項
echo "<br />";
foreach($arr as $val){
echo $val."\n";
}
unset($arr); //刪除數組
?>
object(對象):使用new來創建一個對象
這裏簡單實驗一下,後面將會使用一篇詳細介紹對象
<?php
class Person{
private $name;
private $age;
//設置名字
function setName($name){
$this->name=$name;
}
//設置年齡
function setAge($age){
$this->age=$age;
}
//輸出信息
function info(){
echo $this->name." age:".$this->age;
}
}
$person=new Person;
$person->setName("cyxl");
$person->setAge(26);
$person->info(); //cyxl age:26
?>