PHP常量、运算符

常量

常量使用

常量是一个简单值的标识符(名字)。常量默认为大小写敏感。按照惯例常量标识符总是大写的

常量特性

  1. 常量前面没有美元符号($)
  2. 常量只能用define() 函数定义,而不能通过赋值语句
  3. 常量一旦定义就不能被重新定义或者取消定义
  4. 常量的值用来定义 整型,浮点,字符串,布尔值,数组(PHP7新增)
  5. 常量可以不用理会变量范围的可以在任何位置访问

将常量变为大小写不敏感

传入参数true

define('WEBNAME','houdunwang',true);
echo $webname

声明常量

常量可以使用 constdefine定义
区别:

  1. const是语言结构,在编译时要比define快
  2. define可以设置第三个参数为true,来定义不区分大小写的常量
  3. 类文件中定义常量也使用const,所以const统一易读

常量检测

defined()检测常量是否存在,返回true或false

$bool = defined('WEBNAME');
var_dump($bool); // 结果是false

系统常量

__DIR__         文件所在目录
__FILE__        文件路径
__LINE__        程序代码行号
PHP_VERSION     显示PHP版本
PHP_OS          显示服务器的操作系统版本
TRUE            boolean值真(true)支持小写常量
FALSE           boolean值假(false)支持小写常量
__FUNCTION__    函数名称
__METHOD__      方法名称
__CLASS__       类名称
  1. get_defined_constants() 可以获取当前可使用的所有常量
  2. get_defined_constants(true) 可以按分组显示所有常量
  3. get_defined_constants(true)['user'] 获得用户定义的常量

运算符

算术运算符

运算符 说明
$a+$b 加法 $a和$b的和
$a-$b 减法 $a和$b的差
$a*$b 乘法 $a和$b的积
$a/$b 除法 $a除以$b的商
$a%$b 取模 $a除以$b后的余
++$a 前加 $a 的值先加一,然后进行操作
$a++ 后加 $a 的值先进行操作,后加一
--$a 前减 $a 的值先减一,然后进行操作
$a-- 后减 $a 的值先进行操作,后减一

赋值运算符

运算符 说明
= 右边值赋值给左边变量
+= 左边值加上右边值赋值给左边变量
-= 左边值减掉右边值赋值给左边变量
*= 左边值乘以右边值赋值给左边变量
/= 左边值除以右边值赋值给左边变量
.= 左边字符串连接到右边变量后面
%= 左边值对右边值取余数后赋值给左边变量

字符串运算符

运算符 说明
. 它返回其左右参数连接后的字符串
.= 左边字符串连接到右边变量后面

比较运算符

运算符 说明
$a==$b 等于 TRUE,如果$a等于$b,不同类型变量先进行转化,如0==false
$a===$b 全等于 TRUE,如果$a等于$b,并且类型也相同
$a!=$b 不等 TRUE,如果$a不等于$b
$a<>$b 不等 TRUE,如果$a不等于$b
$a!==$b 非全等 TRUE,如果$a不等于$b,或者类型不同
$a<$b 小于 TRUE,如果$a严格小于$b
$a>$b 大于 TRUE,如果$a严格$b
$a<=$b 小于等于 TRUE,如果 $a 小于或者等于$b
$a>=$b 大于等于 TRUE,如果 $a 大于或者等于$b

逻辑运算符

运算符 说明
$a and $b 逻辑与 TRUE,如果 $a 与 $b 都为 TRUE
$a or $b 逻辑或 TRUE,如果 $a 或 $b 任一为TRUE
!$a 逻辑非 TRUE,如果 $a 不为 TRUE
$a && $b 逻辑与 TRUE,如果 $a 与 $b 都为TRUE
$a || $b 逻辑或 TRUE,如果 $a 或 $b 任一为TRUE
  1. and&&or||是同一逻辑运算符的两种写法,但优先级不同
  2. 这四个符号的优先级从高到低是:&&、||、AND、OR

三元表达式

变量=(表达式)?值1:值2;当表达式的返回值为true时,变量被赋予值1,否则被赋予值2

echo true?'1':'2'; //返回1

?? 与 ?:

$var=0;
echo $var?:'NO';  #NO

$var=0;
echo $var??'NO'; #输出0

PHP 7 新增加的 NULL 合并运算符??是用于执行isset()检测的三元运算的快捷方式,它为true需满足两个条件:

  1. 变量必须存在
  2. 值不能为空

?: 只判断truefalse
??经常用于判断数据库字段是否为空

屏蔽错误

@运算符用于屏蔽表达式警告错误

@(20/0); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容