Laravel数组转换:如何将含逗号分隔值的单元素数组转为多元素数组?
在Laravel中将单元素字符串数组转换为多元素数组
你的原始数组结构为:
$original = [ "Cambodia, Japan" ];
要得到目标格式 $destinations = ['Cambodia','Japan'];,可以用以下几种简洁方法:
方法一:原生PHP explode() 函数
直接提取数组首个元素,按, (逗号加空格)分割为新数组:
$destinations = explode(', ', $original[0]);
方法二:Laravel 字符串辅助函数(Laravel 9+)
利用Laravel的Str类链式处理,代码更直观:
use Illuminate\Support\Str; $destinations = Str::of($original[0])->explode(', ')->toArray();
方法三:兼容不规则空格的鲁棒写法
如果字符串中存在多余空格(比如逗号前后空格数量不固定),可以用正则分割或先清理空格:
// 正则分割,兼容逗号前后任意数量空格 $destinations = preg_split('/\s*,\s*/', $original[0]); // 或用Laravel辅助函数清理后分割 use Illuminate\Support\Str; $destinations = Str::of($original[0]) ->trim() // 去除字符串前后空格 ->explode(',') // 按逗号分割 ->map(fn($item) => trim($item)) // 去除每个元素的前后空格 ->toArray();
内容的提问来源于stack exchange,提问作者user3124540
相关产品推荐
相关产品推荐

