PHP實踐之路(三)PHP初探資料型別

cyxlzzs發表於2013-06-27

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
?>




版權宣告:本文為博主原創文章,未經博主允許不得轉載。

相關文章