基于匹配值递归嵌套PHP数组或Laravel集合的方法如下:
下面是一个示例代码,展示了如何基于匹配值递归嵌套PHP数组或Laravel集合:
function recursiveSearch($data, $matchValue) {
$result = [];
foreach ($data as $key => $value) {
if (is_array($value) || $value instanceof \Illuminate\Support\Collection) {
$nestedResult = recursiveSearch($value, $matchValue);
$result = array_merge($result, $nestedResult);
} elseif ($value == $matchValue) {
$result[$key] = $value;
}
}
return $result;
}
// 示例用法
$data = [
'name' => 'John',
'age' => 30,
'children' => [
[
'name' => 'Alice',
'age' => 5,
],
[
'name' => 'Bob',
'age' => 8,
],
],
];
$matchValue = 'Alice';
$result = recursiveSearch($data, $matchValue);
print_r($result);
这段代码将递归搜索数组$data
中的所有元素,找到与匹配值$matchValue
相等的元素,并将其添加到结果数组中。最后,我们打印结果数组。
请注意,这只是一个示例代码,你可以根据自己的需求进行修改和扩展。另外,对于Laravel集合,我们需要使用$value instanceof \Illuminate\Support\Collection
来检查类型。
领取专属 10元无门槛券
手把手带您无忧上云