PHP 字符串处理函数
PHP 字符串处理函数
字符串处理是 PHP 最常用的操作,这些函数一定要会。
1. 截取字符串
// 截取前n个字符
substr("hello world", 0, 5); // hello
// 中文截取(用mb_substr)
mb_substr("你好世界", 0, 2, "utf-8"); // 你好
2. 替换字符串
// str_replace 替换
str_replace("world", "PHP", "hello world"); // hello PHP
// 只替换第一次出现
str_replace("a", "b", "aaa", $count);
3. 查找字符串
// 查找位置(找不到返回false)
strpos("hello world", "world"); // 6
// 注意:用 === 0 判断开头
if (strpos($str, "hello") === 0) {
echo "以hello开头";
}
4. 大小写转换
// 转小写
strtolower("Hello"); // hello
// 转大写
strtoupper("hello"); // HELLO
// 首字母大写
ucfirst("hello"); // Hello
// 每个单词首字母大写
ucwords("hello world"); // Hello World
5. 去除空白
// 去除两边空格
trim(" hello "); // hello
// 去左边
ltrim(" hello "); // hello
// 去右边
rtrim(" hello "); // hello
6. 字符串拼接
// 用点拼接
$str = "hello" . " " . "world";
// 多变量拼接
$a = "hello";
$b = "world";
$c = "$a $b"; // hello world
7. 分割和合并
// 分割成数组
$arr = explode(",", "a,b,c"); // ["a", "b", "c"]
// 数组合并成字符串
$str = implode(",", $arr); // a,b,c
8. 常用技巧
1)判断是否包含字符串:
if (strpos($str, "hello") !== false) {
echo "包含hello";
}
2)反转字符串:
strrev("hello"); // olleh
3)字符串长度:
strlen("hello"); // 5
mb_strlen("你好", "utf-8"); // 2
总结
PHP 字符串处理要点:
- substr 截取,注意中文用 mb_substr
- str_replace 替换
- strpos 查找,用 !== false 判断
- trim 去空格
- explode/implode 分割合并
- 注意中文编码问题,用 mb 开头的函数
写 PHP,字符串函数天天用。
PHP 数组常用函数
PHP 数组常用函数
数组是 PHP 最常用的数据结构,数组函数用熟了开发效率翻倍。整理一份常用清单。
1. 数组创建和遍历
// 索引数组
$arr1 = [1, 2, 3];
// 关联数组
$arr2 = ['name' => '张三', 'age' => 25];
// 遍历
foreach ($arr2 as $key => $value) {
echo "$key: $value\n";
}
2. 数组增删改查
// 追加元素
$arr[] = 4;
array_push($arr, 5, 6);
// 头部插入
array_unshift($arr, 0);
// 删除末尾元素
array_pop($arr);
// 删除头部元素
array_shift($arr);
// 删除指定元素
unset($arr[0]);
3. 数组合并和拆分
// 合并数组
$arr1 = [1, 2];
$arr2 = [3, 4];
$merged = array_merge($arr1, $arr2); // [1,2,3,4]
// 拆分
$slice = array_slice($arr, 0, 2);
4. 查找和过滤
// 判断键是否存在
array_key_exists('name', $arr);
// 判断值是否存在
in_array('张三', $arr);
// 查找值对应的键
array_search('张三', $arr);
// 数组过滤
$filtered = array_filter([1, 2, 3, 4], function($n) {
return $n > 2;
}); // [3,4]
5. 排序
sort($arr); // 升序
rsort($arr); // 降序
asort($arr); // 按值升序,保留键
ksort($arr); // 按键升序
6. 常用操作
// 数组长度
count($arr);
// 去重
array_unique($arr);
// 反转
array_reverse($arr);
// 随机取一个
array_rand($arr);
7. 实际应用
统计数组中出现次数:
$counts = array_count_values(['a', 'b', 'a', 'c', 'a']);
// ['a' => 3, 'b' => 1, 'c' => 1]
二维数组按某列排序:
$users = [
['name' => '张三', 'age' => 25],
['name' => '李四', 'age' => 20]
];
array_multisort(array_column($users, 'age'), SORT_ASC, $users);
总结
PHP 数组函数非常多,日常开发记住这些常用的就够了:
- 增删改查:array_push / array_pop / unset
- 合并拆分:array_merge / array_slice
- 查找过滤:in_array / array_filter
- 排序:sort / asort / ksort
数组是 PHP 的灵魂,多用多练就熟了。
PHP 字符串处理函数
PHP 字符串处理函数
字符串处理是 PHP 开发最常用的操作,整理一份常用函数清单。
1. 字符串长度
// 英文字符串长度
echo strlen("hello world"); // 11
// 中文字符串长度(mbstring扩展)
echo mb_strlen("你好世界", "UTF-8"); // 4
2. 截取字符串
// 英文截取
echo substr("hello world", 0, 5); // hello
// 中文截取
echo mb_substr("你好世界", 0, 2, "UTF-8"); // 你好
3. 查找替换
// 查找位置
echo strpos("hello world", "world"); // 6
// 替换
echo str_replace("world", "PHP", "hello world"); // hello PHP
// 大小写转换
echo strtoupper("hello"); // HELLO
echo strtolower("HELLO"); // hello
4. 去除空格
// 去除两端空格
echo trim(" hello "); // hello
// 去除左侧空格
echo ltrim(" hello"); // hello
// 去除右侧空格
echo rtrim("hello "); // hello
5. 字符串分割
// 分割成数组
$arr = explode(",", "a,b,c");
print_r($arr); // Array([0]=>a [1]=>b [2]=>c)
// 数组合并成字符串
echo implode(",", $arr); // a,b,c
6. 格式化输出
// 格式化字符串
echo sprintf("你好,%s!今年%d岁", "张三", 25);
// 你好,张三!今年25岁
7. HTML 转义
// 转义特殊字符
echo htmlspecialchars("<script>alert(1)</script>");
// <script>alert(1)</script>
8. 常用场景
截取标题:
function subTitle($str, $len = 20) {
if (mb_strlen($str, "UTF-8") > $len) {
return mb_substr($str, 0, $len, "UTF-8") . "...";
}
return $str;
}
过滤空格和特殊字符:
function filterStr($str) {
$str = trim($str);
$str = str_replace(" ", "", $str);
return $str;
}
总结
字符串处理常用函数:
- 长度:strlen / mb_strlen
- 截取:substr / mb_substr
- 查找替换:strpos / str_replace
- 分割合并:explode / implode
- 去除空格:trim
做 PHP 开发这些函数一定要用熟。
PHP 字符串处理技巧
PHP 字符串处理常用技巧
字符串处理是 PHP 开发最常用的操作,掌握这些函数,写代码效率翻倍。
1. 截取字符串
// 截取前 5 个字符
substr("hello world", 0, 5); // hello
// 截取从第 6 个开始到结尾
substr("hello world", 6); // world
// 中文字符串截取(用 mb_)
mb_substr("你好世界", 0, 2, "UTF-8"); // 你好
注意:中文要用 mb_substr,不能用 substr,否则会乱码。
2. 替换字符串
// str_replace(替换所有)
str_replace("world", "PHP", "hello world"); // hello PHP
// str_ireplace(不区分大小写)
str_ireplace("WORLD", "PHP", "hello world");
// preg_replace(正则替换)
preg_replace("/\d/", "", "abc123def"); // abcdef
3. 查找字符串
// 查找位置(找不到返回 false)
strpos("hello world", "world"); // 6
// 查找最后出现位置
strrpos("hello world hello", "hello"); // 12
// 判断是否包含(PHP 8+)
str_contains("hello world", "world"); // true
// 判断开头
str_starts_with("hello world", "hello"); // true
// 判断结尾
str_ends_with("hello world", "world"); // true
4. 格式化字符串
// 去除首尾空格
trim(" hello "); // hello
// 只去左边/右边
ltrim(" hello"); // hello
rtrim("hello "); // hello
// 转小写/大写
strtolower("Hello"); // hello
strtoupper("hello"); // HELLO
// 首字母大写
ucfirst("hello"); // Hello
// 每个单词首字母大写
ucwords("hello world"); // Hello World
5. 字符串和数组转换
// 字符串转数组
explode(",", "a,b,c"); // ["a","b","c"]
// 数组转字符串
implode(",", ["a","b","c"]); // a,b,c
// 重复字符串
str_repeat("ab", 3); // ababab
// 字符串长度
strlen("hello"); // 5
mb_strlen("你好", "UTF-8"); // 2
6. 常用技巧
// 生成随机字符串
substr(md5(time()), 0, 8);
// 脱敏手机号
substr_replace("13812345678", "****", 3, 4); // 138****5678
// 截取摘要(带省略号)
mb_strlen($text) > 10 ? mb_substr($text, 0, 10) . "..." : $text;
// 清除 HTML 标签
strip_tags("<p>hello</p>"); // hello
总结
PHP 字符串处理核心函数:
- 截取:substr / mb_substr
- 替换:str_replace / preg_replace
- 查找:strpos / str_contains
- 格式化:trim / strtolower / ucwords
- 转换:explode / implode
记住这些,日常开发基本够用了。
PHP 数组操作技巧
PHP 数组操作技巧
数组是 PHP 最常用的数据结构,掌握这些技巧,写代码效率翻倍。
1. 数组合并
// 索引数组合并
$arr1 = [1, 2];
$arr2 = [3, 4];
$result = array_merge($arr1, $arr2); // [1,2,3,4]
// 关联数组合并,后面覆盖前面
$arr1 = ['a' => 1, 'b' => 2];
$arr2 = ['b' => 3, 'c' => 4];
$result = array_merge($arr1, $arr2); // ['a'=>1, 'b'=>3, 'c'=>4]
2. 数组去重
// 一维数组去重
$arr = [1, 2, 2, 3, 3, 3];
$result = array_unique($arr); // [1,2,3]
// 二维数组按字段去重
$users = [
['id' => 1, 'name' => '张三'],
['id' => 2, 'name' => '李四'],
['id' => 1, 'name' => '张三'],
];
$ids = array_column($users, 'id');
$unique = array_unique($ids);
3. 数组排序
// 升序
sort($arr);
// 降序
rsort($arr);
// 按键排序
ksort($arr);
// 按值排序,保留键
asort($arr);
4. 数组过滤
// 过滤空值
$arr = [1, 0, '', null, 'a'];
$result = array_filter($arr); // [1, 'a']
// 自定义过滤
$result = array_filter($arr, function($value) {
return $value > 2;
});
5. 数组取值
// 取某一列
$names = array_column($users, 'name');
// 取交集
$arr1 = [1, 2, 3];
$arr2 = [2, 3, 4];
$result = array_intersect($arr1, $arr2); // [2,3]
// 取差集
$result = array_diff($arr1, $arr2); // [1]
6. 常用技巧
// 判断键是否存在
isset($arr['key']);
array_key_exists('key', $arr);
// 随机取一个
$value = array_rand($arr);
// 打乱数组
shuffle($arr);
// 数组合并成字符串
$str = implode(',', $arr);
// 字符串转数组
$arr = explode(',', $str);
总结
PHP 数组函数非常丰富,常用的就这些:合并、去重、排序、过滤、取值。把这些记熟,日常开发基本够用了。