Laravel的Str和Arr类提供字符串与数组处理方法,如Str::lower、Str::contains、Arr::get、Arr::pluck等,提升代码可读性与开发效率。

Laravel 提供了两个非常实用的辅助类 Str 和 Arr,用于处理字符串和数组。它们封装了许多常用操作,让代码更简洁、可读性更强。下面介绍这两个类中常用的静态方法及其使用方式。
Str 类常用方法
Str 类位于 IlluminateSupportStr,提供了丰富的字符串处理功能。使用前无需手动引入,Laravel 已自动加载。
1. 字符串转小写或大写
将字符串统一格式化:
Str::lower('Hello World'); // 'hello world' Str::upper('Hello World'); // 'HELLO WORLD'2. 首字母大写
将每个单词首字母大写:
Str::title('laravel is awesome'); // 'Laravel Is Awesome'3. 判断字符串是否以指定内容开头或结尾Str::startsWith('https://example.com', 'https'); // true Str::endsWith('document.pdf', '.pdf'); // true4. 检查字符串是否包含某些子串
支持多个关键词判断:
Str::contains('The quick brown fox', ['quick', 'fox']); // true Str::contains('Hello Laravel', 'php'); // false5. 生成唯一字符串(如 UUID)Str::uuid(); // 生成类似 "a1b2c3d4-..." 的唯一标识 Str::orderedUuid(); // 基于时间排序的 UUID,适合数据库索引6. 截取字符串Str::substr('Laravel Framework', 0, 7); // 'Laravel' Str::substr('Laravel', -3); // 'vel'7. 转为驼峰命名或蛇形命名Str::camel('first_name'); // 'firstName' Str::snake('lastName'); // 'last_name'8. 生成 URL 友好字符串(slug)Str::slug('Hello Laravel World', '-'); // 'hello-laravel-world'
Arr 类常用方法
Arr 类位于 IlluminateSupportArr,专门用于增强 PHP 数组的操作能力。
1. 获取数组中的值(带默认值)
避免因键不存在而报错:
Arr::get(['name' => 'Tom', 'age' => 25], 'name'); // 'Tom' Arr::get(['user' => ['email' => 'a@b.com']], 'user.email'); // 支持点语法嵌套访问 Arr::get([], 'name', 'Guest'); // 'Guest'(默认值)2. 设置数组值Arr::set($array, 'users.0.name', 'John'); // 在多维数组中设置值3. 判断数组是否有某个键(支持点语法)Arr::has(['user' => ['email' => 'a@b.com']], 'user.email'); // true Arr::has($data, ['user.name', 'user.id']); // 多个键同时检查4. 过滤数组元素Arr::where(['a' => 1, 'b' => 2, 'c' => 3], function ($value, $key) { return $value > 1; }); // 返回 [‘b’ => 2, ‘c’ => 3]5. 获取数组中的某一列
类似于 SQL 中的 SELECT 字段:
Arr::pluck([['name' => 'A'], ['name' => 'B']], 'name'); // ['A', 'B'] Arr::pluck($users, 'email', 'id'); // 用 id 作为键返回 email 列表6. 合并数组(递归)Arr::add(['name' => 'Tom'], 'age', 20); // 添加不存在的键 Arr::collapse([[1, 2], [3, 4]]); // 合并多个数组为一维 [1,2,3,4]7. 随机获取数组元素Arr::random(['red', 'green', 'blue']); // 随机返回一个颜色
实际应用场景示例
比如在控制器中处理请求数据时:
$slug = Str::slug($request->input('title')); $status = Arr::get($config, 'user.status', 'active'); if (Str::contains($url, ['admin', 'dashboard'])) { ... }基本上就这些。熟练掌握 Str 和 Arr 的常用方法,能显著提升开发效率,减少手动判断和循环。Laravel 的文档也建议优先使用这些辅助函数来保持代码一致性。
以上就是laravel怎么使用Str和Arr辅助类的常用方法_laravel Str/Arr辅助类常用方法教程的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/4470.html
微信扫一扫
支付宝扫一扫