`
cyxlgzs
  • 浏览: 90105 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

PHP实践之路(三)PHP初探数据类型

 
阅读更多

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




版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics