【发布时间】:2014-11-11 20:46:55
【问题描述】:
有一个类似 [1] 的数组
$arr = array(
array(
"ignoreMe" => "123",
"checkMe" => "value",
),
array(
"ignoreMe" => "456",
"checkMe" => "value",
),
);
我想检查内部数组的特殊键(这里是键checkMe)是否具有相同的值。
如果所有键都具有相同的值,那么我想从内部数组中删除键。 (来自所有数组)
但是当有一个像 [2] 这样的数组时
$arr = array(
array(
"ignoreMe" => "123",
"checkMe" => "value",
),
array(
"ignoreMe" => "456",
"checkMe" => "value",
),
array(
"ignoreMe" => "789",
"checkMe" => "foo",
),
);
所有键都应保持原样。
我将如何使用这个复杂的验证器来做到这一点? (链接https://github.com/Respect/Validation)
[1] 的预期结果是
$arr = array(
array(
"ignoreMe" => "123",
),
array(
"ignoreMe" => "456",
),
);
[2] 不应该被触摸
这是已经尝试过的:
$validator = v::arr()->each(v::key("check", v::equals('value')));
【问题讨论】:
-
@Rikesh 我已将预期结果添加到我的问题中。
-
你试过什么?我不了解其他人,但我不是来教人们如何使用第三方库的。你应该自学,或者参加一些课程。
-
@SverriM.Olsen
$validator = v::arr()->each(v::key("check", v::equals('value')));将为该键获取指定值。问题是,键的值并不总是相同的。这就是我卡住的地方。 -
我想我会反过来不使用这个库来解决这个特定问题。我知道我解决这个问题的方法很好,但在我看来它产生的代码不太好。如果我确实找到解决此问题的方法,我会回来报告。
-
你使用的是什么版本的 PHP?
标签: php arrays respect-validation