PHP运算符汇总

⭕️前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家(点击跳转到网站)⭕️

一、算数运算符
基础理解
  • 加减乘除、求余数、整数除法(向下取整)、字符串拼接等
 
$x=10; 
$y=6;
//求和
echo ($x + $y); // 10+6
echo '
'
; // 换行 //求差 echo ($x - $y); // 10-6 echo '
'
; // 换行 //求积 echo ($x * $y); // 60 echo '
'
; // 换行 //除法未保留小数 echo ($x / $y); // 输出1.6666666666667 echo '
'
; // 换行 //*整数除法,“向下取整”,7除以2等于3.5,所以 intdiv(7, 2) 返回3。在第二个例子中,-7除以2等于-3.5,所以 intdiv(-7, 2) 返回-4 echo intdiv(7, 2); // 输出: 3 echo intdiv(-7, 2); // 输出: -4 echo '
'
; //求模 echo ($x % $y); // 输出4(余数) echo '
'
; // 换行 //求负数 echo -$x; echo '
'
; // 换行 //字符串拼接 c;//"jsm666" echo '
'
; // 换行 ?>

二、赋值运算符
基础理解
  • 赋值,其实就是把算数运算符的值进行赋值,和原本没啥区别
 
$x=10; 
echo $x; // 输出10
echo '
'
; // 换行 // x = x + y $y=20; $y += 100; echo $y; // 输出120 echo '
'
; // 换行 //x = x - y $z=50; $z -= 25; echo $z; // 输出25 echo '
'
; // 换行 //x = x * y $i=5; $i *= 6; echo $i; // 输出30 echo '
'
; // 换行 //x = x / y $j=10; $j /= 5; echo $j; // 输出2 echo '
'
; // 换行 //x = x % y $k=15; $k %= 4; echo $k; // 输出3 echo '
'
; // 换行 //a .= b :链接两个字符串 $k="jsm"; echo $k .= "666";//“jsm666” echo '
'
; // 换行 //*用不同的运算符得到相同的结果 $a = "Hello"; $b = $a . " world!"; echo $b; // 输出Hello world! echo '
'
; // 换行 $x="Hello"; $x .= " world!"; echo $x; // 输出Hello world! ?>

三、递增/递减运算符
基础理解
  • 递增、递减,这个大部分语言都有的逻辑不阐述


//++ x:预递增,x 加 1,然后返回 x
$x=10; 
echo ++$x; // 输出11
echo '
'
; // 换行 //x ++:后递增,返回 x,然后 x 加 1 $y=10; echo $y++; // 输出10 echo '
'
; // 换行 //-- x: 预递减,x 减 1,然后返回 x $z=5; echo --$z; // 输出4 echo '
'
; // 换行 //x --:后递减,返回 x,然后 x 减 1 $i=5; echo $i--; // 输出5 echo '
'
; // 换行 ?>

四、比较运算符
基础理解
  • 比较操作符可以比较两个值的时候使用,实际业务场景语句较多,比大小这些
运算符 名称等于 描述 实例
x == y 等于 如果 x 等于 y,则返回 true 5==8 返回 false
x === y 绝对等于 如果 x 等于 y,且它们类型相同,则返回 true 5===“5” 返回 false
x != y 不等于 如果 x 不等于 y,则返回 true 5!=8 返回 true
x <> y 不等于 如果 x 不等于 y,则返回 true 5<>8 返回 true
x !== y 不绝对等于 如果 x 不等于 y,或它们类型不相同,则返回 true 5!==“5” 返回 true
x > y 大于 如果 x 大于 y,则返回 true 5>8 返回 false
x < y 小于 如果 x 小于 y,则返回 true 5<8 返回 true
x >= y 大于等于 如果 x 大于或者等于 y,则返回 true 5>=8 返回 false
x <= y 小于等于 如果 x 小于或者等于 y,则返回 true 5<=8 返回 true
  • var_dump 是 PHP 中的一个函数,用于在屏幕上显示变量的详细信息,这里是为了正确显示输出的布尔值(bool)

$x=100; 
$y="100";

//值相同:true
var_dump($x == $y);
echo "
"
; //数据格式不同:false var_dump($x === $y); echo "
"
; //==和!=都是比较值而不比较格式:false var_dump($x != $y); echo "
"
; //true var_dump($x !== $y); echo "
"
; $a=50; $b=90; var_dump($a > $b);//false echo "
"
; var_dump($a < $b);//true ?>

五、逻辑运算符
基础理解
  • 逻辑运算符的返回是或者否,实际使用场景可能是一种逻辑思维的提升,不能仅仅局限于一些现有的逻辑,例如与或非结合三元等、函数判断等

比如以下情况(这里的不等于就用的是绝对等于)

collect(A)->filter(function($item) {
  if(is_array($item)) {
    return $item['importance'] !== 1 ? true : $item['importance'] = 'hbt';
  } else {
    return $item->importance !== 1 ? true : $item->importance ='hbt';
  }
}
)->values();
  • 运算符都很简单,这里的逻辑运算符如果和判断运算符结合起来,可以处理一些实际业务场景下的自定义运算逻辑
运算符 名称 描述 实例
x and y 如果 x 和 y 都为 true,则返回 true x=6 y=3 (x < 10 and y > 1) 返回 true
x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6 y=3 (x6 or y5) 返回 true
x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6 y=3 (x6 xor y3) 返回 false
x && y 如果 x 和 y 都为 true,则返回 true x=6 y=3 (x < 10 && y > 1) 返回 true
x || y 如果 x 和 y 至少有一个为 true,则返回 true x=6 y=3 (x5 || y5) 返回 false
! x 如果 x 不为 true,则返回 true x=6 y=3 !(x==y) 返回 true

六、数组运算符
基础理解
  • 数组运算符:数组运算符是对复杂一点的数据进行了一个运算,而不再是单一的数据格式
运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y,则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y,则返回 true
  • 注意:

    在PHP中,x <> y 和 $x != $y 都是用于比较两个变量是否不相等的操作符,但它们之间存在一些差异。

    1. x <> y:这是使用双等号(<>)作为比较操作符。它比较两个变量的值是否不相等,而不考虑它们的类型。如果两个变量的值不相等,则返回 true,否则返回 false。
    2. $x != $y:这是使用双不等号(!=)作为比较操作符。它也比较两个变量的值是否不相等,但同时还会检查它们的类型是否不同。如果两个变量的值不相等或类型不同,则返回true,否则返回 false。因此,主要的区别在于类型检查方面。x <> y 只比较值是否相等,而 $x != $y 不仅比较值是否相等,还检查类型是否不同。

$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 和 $y 数组合并

var_dump($x);//输出x
echo "
"
;//分行 var_dump($y);//输出y echo "
"
;//分行 var_dump($z);//输出z(合并之后) echo "
"
;//分行 var_dump($x == $y);//bool(false) :因为两个数组值、键对不相同 echo "
"
;//分行 var_dump($x === $y);//bool(false) :因为两个数组值、键对不相同(这里要true,需要顺寻相同,而==不需要这一点) echo "
"
;//分行 var_dump($x != $y);//bool(true) :满足不相等条件 echo "
"
;//分行 var_dump($x <> $y);//bool(true):这里要和!=区别出来,<>会检查数据类型是否相同 echo "
"
;//分行 var_dump($x !== $y);//bool(true) :满足不恒等条件 echo "
"
;//分行 ?>

七、三元运算符
基础理解
  • A==1?B :C :A是否等于1?是则返回B,不是则返回C,可嵌套

八、太空船运算符
基础理解
  • <=> :“前大为正,相等为0,后大为负“

$c = $a <=> $b

解释:

  • 如果 $a > b ∗ ∗ , 则 ∗ ∗ b**, 则 ** b,c 的值为 1
  • 如果 $a == b ∗ ∗ , 则 ∗ ∗ b**, 则 ** b,c 的值为 0
  • 如果 $a < b ∗ ∗ , 则 ∗ ∗ b**, 则 ** b,c 的值为 -1

// 整型
echo 1 <=> 1; // 0
echo "
"
;//分行 echo 1 <=> 2; // -1 echo "
"
;//分行 echo 2 <=> 1; // 1 echo "
"
;//分行 // 浮点型 echo 1.5 <=> 1.5; // 0 echo "
"
;//分行 echo 1.5 <=> 2.5; // -1 echo "
"
;//分行 echo 2.5 <=> 1.5; // 1 echo "
"
;//分行 // 字符串 echo "a" <=> "a"; // 0 echo "
"
;//分行 echo "a" <=> "b"; // -1 echo "
"
;//分行 echo "b" <=> "a"; // 1 echo "
"
;//分行 ?>

注:运算符优先级不做阐述,小学生的问题

你可能感兴趣的:(PHP,php,android,开发语言)