数组
PHP 数组是有序键值对映射,可作索引数组、关联数组、多维数组使用,非常灵活。
创建与访问
短数组语法 [...](推荐)。索引数组下标从 0 开始;关联数组用字符串键。count() 获取长度。
常用函数
- 增删:
array_push / array_pop / array_shift / array_unshift; - 查找:
in_array / array_search / array_key_exists; - 排序:
sort / rsort / asort / ksort; - 处理:
array_map / array_filter / array_merge / array_slice; - 字符串互转:
implode / explode。
代码示例
<?php
// 索引数组
$fruits = ["苹果", "香蕉", "橙子"];
echo $fruits[0]; // 苹果
array_push($fruits, "葡萄");
echo "<br>" . count($fruits); // 4
// 关联数组
$user = [
"name" => "小王",
"age" => 25,
"city" => "烟台"
];
echo "<br>" . $user["name"];
// 多维数组
$students = [
["name" => "小王", "score" => 92],
["name" => "小李", "score" => 88]
];
echo "<br>" . $students[0]["name"] . ":" . $students[0]["score"];
// 常用函数
$nums = [3, 1, 4, 1, 5];
sort($nums); // 升序排序
echo "<br>" . implode(",", $nums); // 1,1,3,4,5
$even = array_filter($nums, fn($n) => $n % 2 == 0);
echo "<br>偶数:" . implode(",", $even); // 4
// 遍历
foreach ($user as $k => $v) {
echo "<br>$k = $v";
}
?>
📚 PHP 语法速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
| 写法 / 语法 | 作用 |
|---|---|
<?php ... ?> | 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) | 写入文件 |