【发布时间】:2021-02-16 14:30:14
【问题描述】:
我有两个数组:
$array1 = [
'user_id' => '1234567890',
'customer_id' => [
'889599494514048876' => [admin => true],
'006994743818411627' => [admin => false],
'259960192293339276' => [admin => false]
]
];
$array2 = [
'customer_id' => [
'259960192293339276' => [admin => false]
]
];
我想检查array2是否存在于array1中。
“理想情况下”解决方案将是动态的,因此无论数组结构如何嵌套或不同,它仍然可以工作。尽管如此,任何解决方案或想法仍然非常感谢,因为我很困惑。
我查看了 array_intersect 和 array_uintersect,虽然我还没有让它们像我想要的那样工作。
【问题讨论】:
-
您要求的内容过于广泛:“无论数组结构如何嵌套或不同”。您需要将问题缩小到可以合理回答的范围内。甚至不清楚您提供的示例数据的正确结果是什么 - 从字面上看,答案将是错误的(
$array1中不存在$array2)但$array2是$array1的子集($array1可以从$array2开始构造并添加元素)所以也许答案应该是正确的? -
引用我自己的话,我说“理想情况下”,而且我知道这是一个宽泛的说法,但 Chris 设法找到了一个无论嵌套多深都能奏效的解决方案。我没有想过使用递归函数,这很可能是这种情况下最简洁的解决方案。
标签: php arrays associative-array array-intersect