PHP运算符

目录

赋值、算数、比较运算符

逻辑运算符

连接、错误抑制、三目运算符

(1)连接运算符

(2)错误抑制符

(3)三目运算符

自操作运算符

位运算符

运算符优先级

流程控制替代语法


赋值、算数、比较运算符

(1)赋值运算符:“=”表示将右边的结果保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量(常量)。

(2)算术运算符:+、-、*、/、%

(3)比较运算符:>、>=、<、<=

==:左边与右边大小相同

!=:左边与右边大小不同

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

!==:不全等于,大小或者类型不同

逻辑运算符

逻辑运算:针对不同的结果进行匹配。满足条件满足 true,不满足返回false

(1)&&:逻辑与,左边的条件与右边的条件同时成立,返回true

(2) || : 逻辑或,左边的条件或右边的条件只要有一个满足即可

(3)! : 逻辑非,对已有的条件进行取反

$a='weekend';
$b='goods';

//逻辑与
var_dump($a=='weekend' && $b=='good');    //false

//逻辑或
var_dump($a=='weekend' || $b=='good');    //true

//逻辑非
var_dump($b=='good');     //false
var_dump(!($b=='good'));  //true

连接、错误抑制、三目运算符

(1)连接运算符

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

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

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

Eg: A.=b--->A=A.b

//连接运算符
$a='hello''
$b=123;

echo $a.$b;      //将a变量和b变量连接起来

$a .= $b;        //$a=$a . $b;
echo $a;

(2)错误抑制符

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

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

$a=10;
$b=0;

@($a % $b);

(3)三目运算符

语法格式:表达式1?表达式2:表达式3;

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

//三目运算符
$a=10;
$b=$a > 10? 100 : 0;

自操作运算符

(1)前置自操作

(2)后置自操作

$a=1;
$a++;
++$a;   //本身自操作,效果相同

$a=1;
$b=$a++;  //先赋值,后$a自增
$c=++$a;  //$a先自增后赋值

位运算符

<1>计算机码:计算机在实际存储数据的时候,采用的编码规则(二进制规则)。

计算机码:原码、反码和补码,数值本身最左边一位用来充当符号位,正数为0,负数为1.

原码:数据本身从十进制转换成二进制得到的结果。(正数左边符号位为0,负数左边符号位为1)

反码:针对负数,符号位不变,其他位取反;

补码:针对负数,反码+1

注:系统中存在两个0:+0和-0(+0:00000000 ;-0:10000000)

5原码:00000101

-5原码:10000101

取反:11111010        //反码符号位不变,其他位取反

求补:11111011        //补码:反码+1

<2>位运算:取出计算机中最小的单位(位bit)进行运算。

按位与&两个位均位1,结果位1
按位或||两个其中有一个位1,,结果位1
按位非~0-->1  ;  1--->0
按位异或^相同为0,相异为1
按位左移<<左移一位,右边补0
按位右移>>右移一位,左边补符号位对应内容(正数补0,负数补1)

注:1、系统进行任何位运算都使用补码。

2.运算结束之后都必须转换成原码才是最终要显示的数据。

按位与
var_dump($a & $b);

/*     
   //取出系统存储的结果进行与操作
5    00000101
-5   11111011
&    00000001  //最终结果(补码形式)

*/

运算符优先级

流程控制替代语法

流程控制替代语法:分支和循环结构的替代语法

PHP本身是嵌入到HTML中的脚本语言,需要在HTML中书写一些关于判断或者循环的结构语法,必须符合PHP标签规范,需要HTML与PHP进行混搭,如果使用原始的PHP代码,那么会非常不美观。

模式:左大括号{使用冒号替代; 右大括号}使用end+对应的起始标记替代(Eg: for、if 、switch)

打印一个九九乘法表

<table border=1>
    <?php for($i=1;$i<10;$i++){?>
       <tr>
           <?php for($j=1;j<=$i;$j++){?>
             <td>
                 <?php echo $i . '*' . $j . ' = ' .$i *&j;?>
             <td>                
           <?php }?>
       </tr>
    <?php }?>
</table>
<table border=1>
    <?php for($i=1;$i<10;$i++):?>
         <tr>
         <?for($j=1;$j<$i;$j++):?>
            <td>
                <?echo $i . '*' . * $j . '=' . $i * $j;?>
            </td>
            <?php endfor ?>
         </tr>
    <?php endfor ?>
</table>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sss@syt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值