<?php
/*
* PHP数据类型
* */
//布尔类型(boolean)其值只有true和false
//另外注意的是:在PHP中不是只有false值才为假的。特殊情况下,0、0.0、
//"0"、空字符串("")、只声明没有赋值的数组等
echo "boolean类型如下:"."<br>";
$b=true;
if($b==true)
echo '变量$b为真!';
else
echo '变量$b为假!';
//字符串型(string)
//字符串有3种定义方式:单引号('')、双引号("")和界定符(<<<)
//注意1:双引号中所含的变量会自动被替换成实际数值,而单引号中
//所含的变量则按普通字符串输出
//注意2:界定符中包含的变量也会被替换成实际数值
echo "<p>";
echo "string类型如下:"."<br>";
$i='只会看到一遍';
echo "\$i的内容为:$i";
echo "<br>";
echo '$i';
echo "<br>";
//注意3:std結束标识符必须另起一行,并且不允许有空格即顶格写
//另外,在标识符前后有其他符号或字符,也会发生错误。
echo <<<std
\$i的内容为:$i
std;
echo "<p>";
echo "integer类型如下:"."<br>";
//注意1:整型可以用十进制、八进制和十六进制来表示,
//八进制前加0,十六进制加0x
//注意2:如果八进制中出现非法数字(8和9),则后面的数字会被忽略掉
//注意3:如果给定的数值超过了int型所能表示的最大范围,将会被当做float型处理
$str1=1234567890;
$str2=0x1234567890;
$str3=01234567890;
$str4=01234567;
echo '10进制的结果:'.$str1.'<br>';
echo '16进制的结果:'.$str2.'<br>';
echo '8进制的结果:';
if($str3==$str4){
echo '$str3=$str4='.$str3;
}else{
echo '$str3!=$str4';
}
echo "<p>";
echo "float类型如下:"."<br>";
//注意1:浮点型的数值只是一个近似值,所以要尽量避免浮点型数值之间比较大小
//因为最后的结果往往不是准确的
echo '圆周率的3种写法:'.'<br>';
echo '第1种:pi()='.pi().'<br>';
echo '第2种:3.14159265359='. 3.14159265359.'<br>';
echo '第3种:3143159265359E-11='. 314159265359E-11.'<br>';
echo "<p>";
echo "数组array使用如下:"."<br>";
//数组是由一系列数据组织起来,而且每个数据称为一个元素
//元素包括索引(键名)和值两部分。其中,元素的索引可以由数字或字符串组成
//定义数组格式有以下3种方式
$array1=array('This','is','a','example'); //默认索引由数值组成,从0开始
$array2=array(0=>'This',1=>'is','the'=>'a','str'=>'example');//该数组索引由数值与字符串共同组成
$array3[0]='w';
echo '$array1[0]的值:'.$array1[0].'<br>';
echo '$array2[0]的值:'.$array2[0].'<br>';
echo '$array2[the]的值:'.$array2[the].'<br>';//注意:字符串作下标时,引用时可以无需单引号引起来
echo '$array3[0]的值:'.$array3[0].'<br>';
echo "<p>";
echo "对象object使用如下:"."<br>";
//先声明类对象
class Car{
var $color;
function Car($color='green')
{
$this->color=$color;
}
}
//输出对象属性值的函数
function print_vars($obj)
{
foreach (get_object_vars($obj) as $prop => $val)
{
echo "\t$prop = $val\n";
}
}
$mycar=new Car('white');
print_vars($mycar);
echo "<p>";
echo "空值null使用如下:"."<br>";
//null值,表示变量没有值,唯一的值是null
//注意1:空值不区分大小写
//注意2:被赋空值的情况有3种:被赋为null值,还没有赋任何值或者被unset()函数处理过
$string1=null;
$string2;
$string3='str';
if(is_null($string1))
echo '$string1=null'.'<br>';
if(is_null($string2))
echo '$string2=null'.'<br>';
unset($string3);
if(is_null($string3))
echo '$string3=null'.'<br>';
echo "<p>";
echo "数据类型转换如下:"."<br>";
//类型转换方式有2种:
//形式1:在变量前面加上用括号括起来的类型名称。如(boolean)$num。
//注意1:转换成boolean型时,null、0和未赋值的变量或数组被转换为false,其他为真。
//转换为整型时,布尔类型的false转换为0,true为1;浮点型的小数部分被舍去;字符型如果
//以数字开头就截取到非数字位,否则输出为0
//形式2:通过函数 bool settype(mixed var,string type)实现
//注意2:当字符串转换为整型或浮点型时,如果字符串是以数字开头的,就会先把数字部分转换成整型,
//再去除后面的字符串;如果数字中含有小数点,则会取到小数点前一位
$num='2.6715926r*r';
echo '使用形式1转换$num变量类型返回的结果:'.(integer)$num.'<br>';//返回转换类型后结果值
echo '输出原始变量num的值:'.$num.'<br>';//此时,原始变量值未发生改变
echo '<p>';
echo '使用形式2转换$num变量类型返回的结果:'.settype($num,'integer').'<br>';//返回boolean类型值
echo '输出原变量num的值:'.$num.'<br>';//此时,原始变量的值发生了改变
echo "<p>";
echo "数据类型检测如下:"."<br>";
//类型检测函数如下:is_bool()、is_string()、is_float()、is_double()、is_integer()、is_int()
//is_null、is_array()、is_object()、isnumeric()
//注意:is_numeric()检验变量是否为数字或者是由数字组成的字符串
$boo1='123';
$boo2='cb123';
if(is_numeric($boo1))
echo 'Yes!'.'<br>';
if(is_numeric($boo2))
echo 'Yes!!'.'<br>';
?>
PHP数据类型
最新推荐文章于 2022-11-13 19:40:14 发布