【PHP+代码审计】PHP基础——运算符

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

运算符

赋值运算符

算术运算符

比较运算符

逻辑运算符

连接运算符

错误抑制符

三目运算符

自操作运算符


运算符

运算符:operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。

赋值运算符

赋值运算:符号是"=",表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果),保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量(常量)。

算术运算符

算术运算:基本算术操作

+:执行数据累加

-:数据相减

:键盘上没有乘法符号,使用代替,两个数相乘

/:正斜杠代替,表示两个数相除

%:取余(模)运算,两个数(整数)相除,保留余数

在进行除法运算或者取余运算的时候,对应的除数(第二个数)不能为0

比较运算符

比较运算:比较两个数据的大小,或者两个内容是否相同,返回的结果都是布尔类型:满足返回true,不满足返回false

:左边大于右边,返回结果true
=:左边大于等于右边

<:左边小于右边

<=:左边小于或者等于右边

==:左边的与右边的相同(大小相同)

!=:左边的与右边的不同(大小不同)

===:全等于,左边与右边相同:大小以及数据的类型都要相同

逻辑运算符

  • 逻辑运算:针对不同的结果进行匹配。满足条件返回true,不满足返回false
  • &&:逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
  • ||:逻辑或,左边的条件或者右边的条件只要有一个满足即可
  • !:逻辑非,对已有条件进行取反,本身为true,取反结果就是false
php 复制代码
<?php

    //算术运算符
    //逻辑运算符
    $a = 'weekend';
    $b = 'goods';

    //逻辑与
    var_dump($a == 'weekend' && $b == 'goods');
    echo '<hr/>';
    //逻辑或
    var_dump($a == 'weekend' || $b == 'good');
    echo '<hr/>';
    //逻辑非
    var_dump($b == 'good');
    echo '<br>';
    var_dump($b !== 'good');

逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式:在书写代码的时候,尽量将出现概率最高的(能够直接判断出结果)的表达式放到第一位

连接运算符

连接运算:是PHP中将多个字符串拼接的一种符号

. :将两个字符串连接到一起

.= : 复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量

A .= b ===== A = A . b

错误抑制符

在PHP中有一些错误可以提前预知,但是这些错误可能无法避免,但是又比希望报错给用户看,可以使用错误抑制符处理。

@:在可能出错的表达式前面使用@符号即可

错误抑制符通常在生产环境(上线)会用到,在开发的时候不会用:系统本身最好没有任何错误。

三目运算符

三目运算:有三个表达式参与的运算(简单的的分支结构缩写)

语法格式:

表达式1 ? 表达式2 :表达式3;

运算:如果表达式1成立,那么执行表达式2,否则执行表达式3;

注意:如果表达式本身比较复杂,建议使用括号包起来。

自操作运算符

自操作:自己操作自己的运算符

++:在原来的值上+1

--:在原来的值上-1

$a = 1;

$a++; // $a = $a + 1;

在PHP中自操作符是可以放到变量前或者后:前置自操作和后置自操作

$a = 1;

$a++;

++$a; //前置或者后置如果本身只有自操作,不参与其他运算(自操作同时),那么效果是一样的。但是如果自操作同时还参与别的运算,那么效果就不一样

$a = 1;

b = a++;//a++; //a++;//a++会导致a = $a + 1; a = 2;,上面的b = 1

c=++c =++c=++a; //++a会导致a = $a + 1; a = 2;,c = 2;

衍生符号:类似自操作

+=:左边的结果与右边结果相加,然后赋值给左边

-=:左边的减去右边的结果,然后复制给左边

*=:乘法操作

/=:除法操作

%=:模操作

注意:右边是一个整体 $a += $b; =è $a = a+(a + (a+(b);

相关推荐
包饭厅咸鱼4 分钟前
QML----复制指定下标的ListModel数据
开发语言·数据库
bryant_meng11 分钟前
【python】Distribution
开发语言·python·分布函数·常用分布
红黑色的圣西罗15 分钟前
Lua 怎么解决闭包内存泄漏问题
开发语言·lua
yanlou23316 分钟前
KMP算法,next数组详解(c++)
开发语言·c++·kmp算法
小林熬夜学编程17 分钟前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
墨墨祺29 分钟前
嵌入式之C语言(基础篇)
c语言·开发语言
躺不平的理查德41 分钟前
数据结构-链表【chapter1】【c语言版】
c语言·开发语言·数据结构·链表·visual studio
可峰科技1 小时前
斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师)
开发语言·qt
Liknana1 小时前
C++ shared_ptr 动态内存
开发语言·c++
Daking-1 小时前
「STL::array」标准库容器:array(数组)介绍(C++)
开发语言·c++