一、PHP变量类型测试
变量输出:
1.echo
2.var_dump() 输出变量的类型和值//一个字母或数字或空格或逗号为1字节,一个中文字为3字节
3.print
4.printf 格式化输出
5.sprintf 只返回不输出,只能另一个变量等于sprintf(---),然后echo...
测试变量是否存在:isset();
变量不存在的情况:1)未定义;2)NULL;
<?php
$a='';
$b=false;
$c=null;
var_dump(isset($a));//boolean true
var_dump(isset($b));//boolean true
var_dump(isset($c));//boolean false
var_dump(isset($d));//boolean false
?>
测试变量是否为空:empty();
变量为空的情况:
1)$a=null; 2)$a=''; 3)$a='0'; 4)$a=false; 5)$a=array(); 6)$a=0; 7)$a=0.0;
任何一个对象都是非空的
<?php
$a='';
$b=false;
$c=null;
var_dump(empty($a));//boolean true
var_dump(empty($b));//boolean true
var_dump(empty($c));//boolean true
var_dump(empty($d));//boolean true
?>
变量类型的测试函数:
1.gettype(); 获取类型结果
2.is_int($a) 整型判断
3.is_string($a) 字符串判断
4.is_array($a) 数组判断
5.is_object($a) 对象判断
6.is_null($a) null判断
7.is_resource($a) 资源判断
8.is_scalar($a) 判断是否为标准类型:int float string boolean
9.is_callable($a) 判断是否为函数
2-9结果均为bool类型,echo打印布尔类型的值:1)true-> 1;2)false-> 空
二、PHP变量类型转换
变量类型自动转换:
1.整型->字符串
$a=10;
echo $a.'abc';//10abc
2.字符串->整型
$a='10abc';
echo $a+10;//20
3.所有类型->布尔型(为假)
$a=0;
$a=0.0;
$a=array();
$a=null;
$a='';
$a='0';
$a=false;
变量类型强制转换:
<?php
$a='...';
var_dump((int)$a);
var_dump((float)$a);
var_dump((bool)$a);
var_dump((string)$a);
var_dump((array)$a);
var_dump((object)$a);
?>
三、PHP常量
常量一旦定义不允许再更改,而且常量名前没有$,常量名字必须是大写的
常量的定义:
define('HOST','localhost');
define('USER','root');
define('PASS','123');
define('DBNAME','test');
常量的输出:
echo HOST;
echo 'my name is ' .HOST. '!!!';
判断常量是否存在:
<?php
define('HOST', 'root');
var_dump(defined('HOST')); //boolean true
?>
预定义常量:
__FLIE__; 当前文件绝对路径
__LINE__; 当前行数
__FUNCTION__; 在函数内知道函数名
M_PI; 圆周率
四、PHP运算符
1.一元运算符:++ --
2.二元运算符:
1)数学运算符:+ - % * /
2)赋值运算符:= += -= *= %= /= .= (.连接字符串)
3)比较运算符:== != > < >= <= === !==
4)逻辑运算符:&&(与) ||(或) !(非)
&&前面为true则执行后面,||前面为false则执行后面
3.三元运算符:$a?$b:$c
运算符优先级
• ++,--
• * / %
• + - .
• < <= > >=
• == != === !==
• & |
• && ||
• ? :
• = += -= *= /= %=
补充运算符:
1.@临时屏蔽错误
2.->
<?php
class Person{
public $name='zyd';
}
$obj=new Person();
echo $obj->name;//zyd
?>
3.=>
<?php
$arrayName = array(
'name' => 'zyd',
'age' => '19', );//=>用于关联数组
var_dump($arrayName);
//result:
// array (size=2)
// 'name' => string 'zyd' (length=3)
// 'age' => string '19' (length=2)
?>
4.new
5.instanceof
<?php
class Person{};
$obj=new Person(); //new新建一个对象
var_dump($obj instanceof Person);//boolean true
//instanceof判断一个对象是否从一个类中实例化出来的
?>