运算符

PHP 教程 · 第 5 章 · 8 次浏览

PHP 运算符与多数语言相似,注意几个特有写法。

分类

  • 算术+ - * / % **(幂);
  • 赋值= += -= *= /= .=(字符串连接赋值);
  • 比较== === != <> !===== 严格相等(类型+值);
  • 逻辑&& || !and or
  • 错误抑制@ 放在表达式前(慎用);
  • 组合比较<=>(太空船运算符,PHP7+);
  • 空合并??(左边不存在则用右边)。

代码示例

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

echo $a / $b;        // 3.3333333333333
echo "<br>";
echo $a % $b;        // 1
echo "<br>";
echo $a ** 2;        // 100

// 字符串连接赋值
$msg = "Hello";
$msg .= " World";
echo "<br>" . $msg;  // Hello World

// 严格比较
var_dump(5 == "5");    // bool(true)  宽松
var_dump(5 === "5");   // bool(false) 严格

// 空合并运算符(PHP7+)
$username = $_GET["user"] ?? "游客";
echo "<br>用户:$username";

// 太空船运算符
echo "<br>" . (2 <=> 3);   // -1
echo "<br>" . (3 <=> 3);   // 0
echo "<br>" . (4 <=> 3);   // 1
?>
📚 PHP 语法速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
写法 / 语法作用
&lt;?php ... ?&gt;PHP 代码块标记
echo "hello";输出字符串
$name = "张三";变量(以 $ 开头,无需声明类型)
if ($x > 0) { } else { }条件判断
foreach ($arr as $k => $v) { }遍历数组(最常用)
for ($i = 0; $i < 10; $i++) { }计数循环
function fn($a) { return $a; }定义函数
array("a" => 1)关联数组(PHP 的"字典")
count($arr)数组长度
isset($x) / empty($x)变量是否存在 / 是否为空
$_GET["key"] / $_POST["key"]获取表单 / 查询参数
$_SESSION["user"]会话数据读写(需 session_start())
$_COOKIE["key"]读取 Cookie
header("Location: /index.php");页面跳转
mysqli_connect($host, $user, $pass, $db)连接 MySQL(旧接口,新项目用 PDO)
new PDO($dsn, $user, $pass)连接 MySQL(推荐,防 SQL 注入)
$stmt->prepare($sql)预处理语句(防 SQL 注入)
htmlspecialchars($str)HTML 转义(防 XSS)
strlen($s) / mb_strlen($s)字符串长度
explode(",", $s) / implode(",", $arr)字符串拆分 / 拼接
json_encode($arr) / json_decode($s)数组与 JSON 互转
include / require引入文件(require 报错即停)
date("Y-m-d H:i:s")当前时间格式化
$_FILES["file"]文件上传数据
file_put_contents($path, $data)写入文件