Z
ZHANK
入门基础

运算符

算术/比较/逻辑/字符串运算符、太空船 <=>、?? 空合并

运算符

PHP 运算符大部分和 C/Java 一致,但有三个 PHP 独有的:. 字符串连接、<=> 太空船、?? 空合并。

学完本章你将: 掌握算术/比较/逻辑/字符串运算符、特色运算符。


基本运算符

php
<?php
$a = 10; $b = 3;

echo $a + $b;  // 13
echo $a - $b;  // 7
echo $a * $b;  // 30
echo $a / $b;  // 3.3333(自动浮点!)
echo $a % $b;  // 1
echo $a ** $b; // 1000(10^3,PHP 5.6+)

字符串运算符

php
<?php
$greeting = "Hello" . " " . "World";  // "." 连接字符串
$greeting .= "!";                      // "Hello World!"

比较运算符

php
<?php
// == 松散比较(类型转换后比较)
var_dump(0 == "0");       // true
var_dump(0 == false);     // true

// === 严格比较(类型相同才为真)
var_dump(0 === "0");      // false
var_dump(0 === false);    // false

// 太空船运算符(PHP 7+)
echo 1 <=> 1;   // 0(相等)
echo 1 <=> 2;   // -1(小于)
echo 2 <=> 1;   // 1(大于)

空合并 ?? 和 空安全 ?->

php
<?php
// ?? — 如果左边为 null,用右边的值
$name = $_GET['name'] ?? '游客';
$name = $_GET['name'] ?? $_POST['name'] ?? '匿名'; // 链式

// ?-> — 空安全操作符(PHP 8+)
// $country = $user?->getAddress()?->getCountry();
// 如果中间任何一个为 null,整个表达式返回 null