首页 > 解决方案 > 在 Laravel 中组合数组索引值

问题描述

我正在尝试将数组合并为一个并在 json_decode 中输出以使用 foreach。

请求输出

$option = [
  0 => '"["Option 1", "Option 2", "Option 3"]"',
  1 => '"["Option 1.1", "Option 1.2"]"'
];

期望的输出

array:2 [
  0 => "["Option 1", "Option 2", "Option 3", "Option 1.1", "Option 1.2"]"
]

我试过了

$option = $request->option_c;
$arrMerge = array_merge($option);
dd($arrMerge);

但我得到了不想要的结果。

希望有人可以帮助我。

标签: phplaravel

解决方案


您可以使用...来合并多维数组。
问题是您的字符串看起来是数组。这些可以是 json_decoded 我我们修剪掉前导和尾随"

$arr = [
  0 => '"["Option 1", "Option 2", "Option 3"]"',
  1 => '"["Option 1.1", "Option 1.2"]"'
];
foreach($arr as &$a) $a = json_decode(trim($a, '"'), true);
var_dump($arr);
var_dump([0=>array_merge(... $arr)]);

https://3v4l.org/VrfIY

为避免将来出现混淆,请始终在此处复制粘贴数组时使用 var_export 数组,这样我们就可以准确地使用您拥有的数组。


推荐阅读