您的位置:首页 > 编程语言 > PHP开发

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

2011-06-09 00:00 661 查看
/*数据类型之间相互转换 
* 一种是强制转换 
* 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"); 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: