人生具有无限的可能性,你的梦想一定能实现

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");
	}
posted @ 2011-05-29 17:28  代号极光  阅读(326)  评论(0编辑  收藏  举报

本博客所有权归作者代号极光紫竹园博客园