一、变量的类型转换方式
强制类型转换
永久转换
#强制类型转换 临时转换
<?php
$res=1;
var_dump($res); //int(1)
var_dump((string)$res); //string(1) "1"
var_dump((float)$res);// float(1)
var_dump((bool)$res);//bool(true)
var_dump((array)$res);array(1){[0]=>int(1)}
var_dump((object)$res);//object(stdClass)#1 (1) { ["scalar"]=> int(1) }
#强制类型转换 系统自动转换
$width="5454cm";
$width += 500;
var_dump($width);//int(5954)
$width -=500.5;
var_dump($width);//float(5453.5)
var_dump($email);
if(!$email)
{
echo '这是真区间true';
}else
{
echo '这是假区间false';
}
#永久转换 settype()
var_dump($res);
echo gettype($res);
settype($res,'integer');
echo gettype($res);
变量值传递与值引用的区别
$a = 45;
$b = $a;//传值赋值
printf('$a的值为%d,$b的值为%d<hr>',$a,$b);//$a的值为45,$b的值为45
$a = 450;
printf('$a的值为%d,$b的值为%d<hr>',$a,$b);//$a的值为450,$b的值为45
$b = &$a;//引用赋值
printf('$a的值为%d,$b的值为%d<hr>',$a,$b);//$a的值为450,$b的值为450
变量的作用域
全局变量无法在函数内部直接引用,需要使用global 或者$GLOBAL超全局变量引用
php中魔术常量
_LINE_ //获取当前代码行号
_DIR_ //获取当前路径
_FUNCTION_//获取当前函数名称
_METHOD_ //获取当前类方法名称
_NAMESPACE_ //获取命名空间
_FILE_ //文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
_CLASS_ //获取当前类的名称
//常量的定义
// const关键字定义常量
//define()函数定义常量
class User
{
//类的常量只能用const定义
const APP_PATH="/0425";
}
//常量必须初始化赋值
const RUNTIME_PATH="/0425/part1";