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); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容