如何使用Arr::only()获取数组中的指定键(含多维数组及键带点符号场景)
能否用Arr::only()获取多维数组中的指定键?
当然可以!不过有个特殊场景需要注意:如果你的数组键本身包含点符号,那常规用来解析多维数组路径的点符号语法就没法生效了。这时候不用慌,直接把带点符号的键名原封不动传进Arr::only()就行,它能正确识别并返回对应的键值对。
举个实际的例子:
use Illuminate\Support\Arr; $array = [ 'name' => 'Desk', 'model.small.price' => 100, 'orders' => 10 ]; $slice = Arr::only($array, ['name', 'model.small.price']); // 结果:['name' => 'Desk', 'model.small.price' => 100]
这里的关键是,当键名本身包含点时,直接传入完整的键名,Laravel的Arr::only()会把它当作一个普通的键来处理,而不会试图拆分它去查找多维数组的嵌套值。
内容的提问来源于stack exchange,提问作者DevonDahon
相关产品推荐
相关产品推荐

