PHP数据类型

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



 ?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值