【发布时间】:2013-05-24 09:05:30
【问题描述】:
我有一个数组结构,我想检查数组中某处是否存在键/值。但我想以一种几乎镜像的验证数组的方式进行测试。
假设我有一个多维数组。这是我要验证的数据。
Array
(
[key1] => Array
(
[subkey1] => value
[subkey2] => value
)
[key2] => Array
(
[subkey3] => Array
(
[key1] => value
[key2] => value
[key3] => value
[key4] => value
[key5] => value
[key6] => value
)
)
);
这是我的键和值的数组,需要出现在第一个数组中。
Array
(
[key1] => Array
(
[subkey2] => value
)
[key2] => Array
(
[subkey3] => Array
(
[key5] => value
[key6] => value
)
)
);
我无法比较这两个数组,因为它们永远不会相同。但是我需要以某种方式遍历数据数组并根据验证数组进行验证。键和值都需要在正确的位置,键需要相同的名称,值也应该相同。我只是不确定如何进行体面的检查。我可以做一些递归检查吗?由于某些键可以是一个值或另一个数组,因此它也需要检查这一点......这就是为什么我在考虑递归但我不知道如何做到这一点。
希望您能提供帮助。谢谢。
【问题讨论】:
-
如果键匹配,“子键”数组是否应该被视为相等,或者所有值也应该匹配?
-
关于价值观的一切。但是由于您需要验证一个值,因此数组键也需要相等,否则将找不到该值。这有意义吗?
-
我认为您需要使用递归函数遍历数组来检查每个键和值。我认为没有更简单的方法了。
-
至少做一个有效的例子;数组声明中不能有重复的键。
-
我在想同样的事情@steven...知道我会怎么做吗?
标签: php arrays validation recursion multidimensional-array