php学习之数据类型之间的转换介绍

复制代码 代码如下:

  /*数据类型之间相互转换

  * 一种是强制转换

  * setType(变量,类型); //int,integer,float,double等等。

  * 这个函数将原变量的类型改变,用var_dump();可以查看变量

  *

  * 在赋值前使用(类型)的形式,不会改变原变量的类型

  * $a=(int)"123abc";

  *

  * $变量=intval(变量或值);

  * $变量=floatval(变量或值);

  * $变量=stringval(变量或值);

  *

  * 注意:整型在内存中占4个字节 2.147e9

  * 浮点型在内存中占8个字节

  *

  *

  * 一种是自动转换(最常用方式),变量会更具运行环境自动转换

  * 与变量和类型有关的一些常用函数

  * isset();//判断一个变量是否存在,值如果是null也表示空。

  * empty();//判断一个变量是否为空 "",null

  * unset();//删除一个变量

  * setType();//设置一个变量类型

  * getType();//获取一个变量类型 var_dump();获取类型和值

  *

  * 变量类型测试函数

  * is_bool();//判断是否为布尔型

  * is_int() is_integer() is_long()//判断是否是整型

  * is_float(), is_double() is_real()//...

  * is_array()

  * is_object()

  * is_resource()

  * is_null()

  * is_scalar()//判断是否是标量

  * is_numberic()//判断是否是任何一种数字,或数字字符串

  * is_callable()//判断是否是有效的函数名

  * 常量的声明与使用

  * 1.常量是一个简单值的标识符

  * 2.常量定义后不能再改变它的值,也不能使用unset()或其他的函数取消

  * 3.常量可以不用理会变量范围的规则而在任何地方都可以定义和访问

  * 4.常量使用define("常量名",值);

  * 5.常量名在声明和使用时都不使用"$"

  * 6.常量名称习惯都使用大写

  * 7.常量的值只能用标量类型(int,float,bool,string)

  * 8.常量一定要在声明时就给值

  * 9.defined("常量");//判断常量是否存在

  *

  * 预定义常量和魔术常量

  * echo __FILE__;//输出当前文件名称目录_魔术常量

  * echo CASE_LOWER;//输出固定的值_预定义常量

  *

  */

  //这个函数将原变量的类型改变,用var_dump();可以查看变量

  $str="100.12345abc";

  setType($str,int);

  var_dump($str);

  //在赋值前使用(类型)的形式

  $str="100.12345abc";

  $a=(int)$str;

  var_dump($a);//输出int(100)

  var_dump($str);//输出值不变,"100.12345abc"

  //如果字符串不是以数字开头,则转换成0

  //不同类型运算

  $a=10;

  $b="100abc";

  $c=true;

  $d=12.34;

  $sum=$a+$c;//布尔型自动转换成1,结果为11

  $sum=$a+$b;//结果为110

  $sum=$a+$b+$c;//结果为111

  $sum=$a+$b+$c+$d;//结果为123.34,因为浮点型内存空间大,小内存转大内存。

  //判断是否是数组

  $a=array("one","two",1,3,6,8);

  if(is_array($a)){

  print_r($a);//打印数组

  }else{

  echo $a;

  }

  //定义常量,使用常量

  define("home","this is a home");

  $a=100;

  function demo()

  {

  global $a;//因为$a是全局变量所以要用全局标记调用

  echo $a;

  echo home;//常量可以不用理会范围,直接访问或者定义

  }

  demo();

  //判断常量是否存在

  if(defined("home")

  {

  echo home;

  }

  else

  {

  define("home","this is a home");

  }