PHP 数据类型

1.标量类型 float, int, string, bool

2.复合类型 array ,object

3.特殊类型 null resouce

 

整数的三种表示方法

十进制:$num =123;

八进制:$num =0123;

十六进制:$num =0x123;

 

进制转换关键字

十进制 dec

二进制 bin

八进制 otc 

十六进制 hex

<?php
    echo "<h4>100 十进制转换:</h4>";
    $bin =decbin(100);
    $oct=decoct(100);
    $hex=dechex(100);
    echo "<table border='1'>";
    echo "<tr><td>源进制</td><td>源值</td><td>目标进制</td><td>目标值</td><td>目标类型</td></tr>";
    echo "<tr><td>十</td><td>100</td><td>二进制</td><td>$bin</td><td>" .  gettype($bin) . "</td></tr>";
    echo "<tr><td>十</td><td>100</td><td>八进制</td><td>$oct</td><td>" .  gettype($oct) . "</td></tr>";
    echo "<tr><td>十</td><td>100</td><td>十六进制</td><td>$hex</td><td>" .  gettype($hex) . "</td></tr>";
    echo "</table>";
    
    echo "<h4>100 其他进制转换十进制:</h4>";
    
    echo "<table border='1'>";
    echo "<tr><td>源进制</td><td>源值</td><td>目标进制</td><td>目标值</td><td>目标类型</td></tr>";
    echo "<tr><td>二</td><td>"  . $bin . "</td><td>十进制</td><td>" . bindec($bin) . "</td><td>" .  gettype(bindec($bin)) . "</td></tr>";
    echo "<tr><td>八</td><td>"  . $oct . "</td><td>十进制</td><td>" . octdec($oct) . "</td><td>" .  gettype(octdec($oct)) . "</td></tr>";
    echo "<tr><td>十六</td><td>" . $hex . "</td><td>十进制</td><td>" . hexdec($hex) . "</td><td>" .   gettype(hexdec($hex)) . "</td></tr>";
    echo "</table>";
?>

100 十进制转换:

源进制 源值 目标进制 目标值 目标类型
100 二进制 1100100 string
100 八进制 144 string
100 十六进制 64 string

100 其他进制转换十进制:

源进制 源值 目标进制 目标值 目标类型
1100100 十进制 100 integer
144 十进制 100 integer
十六 64 十进制 100 integer

 

如果 传递 bindec(),octdec(),hexdec(), 如果方法里面的参数不是字符串类型而是数字类型,则会先进行转换为十进制,再转换为字符串类型

代码如下:

echo "<h1>" . bindec(0123). "</h1>";    //输出0
echo "<h1>" . bindec("0123"). "</h1>";    //输出1

 

0123 = 83 = "83" ; bindec(0123) =bindec("83") =0 ;

 

2.float 2种表达方法

<?php

$f =1.2345;
$f2 =1.2345E3;
$f3 =12345E3;
echo "<h1>" .  $f . "</h1>";
echo "<h1>" .  $f2. "</h1>";
echo "<h1>" .  $f3. "</h1>";
?>

1.绝大部分的小数无法完整转换为二进制

2.不应该直接进行大小值比较,因为浮点数在系统内部,很可能都是不精确。如果实在要比较,则在考虑精度的情况下转化为整数进行比较。放大精度次方进行放大。即1.2345*10000 精度4进行比较

3.当整数运算结果后超过整数后会自动转换为浮点数。

 

string 类型

1、单引号字符串

2、双引号字符串

3、单引号分界符字符串

4、双引号分界符字符串

代码如下:

<?php
$txt ="我是文本";
//单引号
//能识别\\ \' 不能识别\n 变量
$str1 ='i am single \n \\ \' ddddd$txt';
//双引号
//能识别\\ \' \n $变量 等
$str2="i am double \n \\ \' \" ddddd$txt";
echo "<br/>" .  $str1;
echo "<br/>" .  $str2;

//无法识别$变量
//',""无需转义
$str3 = <<<'flag1'
单引号界限字符串aaaaaaaaa"
aaaaaaaaa
aaaaaaaaa"别$txt 
flag1;

//可以识别$变量
//',""无需转义
$str4 = <<<"flag2"
双引号界限字符串aaaaaaaaa
aaaaaaaaa
aaaaaaaaa'iefie别$txt 
flag2;

echo "<br/>" .  $str3;
echo "<br/>" .  $str4;
?>

输出界面如下:

<html>
<head></head>
<body>
<br>i am single \n \ ' ddddd$txt<br>i am double 
 \ \' " ddddd我是文本<br>单引号界限字符串aaaaaaaaa"
aaaaaaaaa
aaaaaaaaa"别$txt <br>双引号界限字符串aaaaaaaaa
aaaaaaaaa
aaaaaaaaa'iefie别我是文本 
</body>
</html>

由此看出有各自的特点,需要根据实际情况使用。

 3、对象类型

<?php
class Person{
    public $Name ="";
    public $Age=0;
    public function  Introduce(){
        echo $this->Name;
        echo $this->Age;
    }
}
$p = new Person();
$p->Name="xiaoming";
$p->Age=17;
$p->Introduce();
?>

 

 

 

 

 

 

 

posted @ 2016-01-11 21:25  holy_night  阅读(179)  评论(0编辑  收藏  举报