我有一个要检查的动作。如果在$ Actions中设置为false,我需要做的事情。
$Actions['edit'] => true;
$Actions['delete'] => false;
$Actions['foo'] => true;
$Actions['bar'] => false;
$actionToCheck = 'delete';
尝试1:
$falseActions = '???';
if ( in_array( $actionToCheck, $falseActions ) ) {
//do stuff
}
尝试2:
if ( in_array( $actionToCheck, $Actions, false ) ) {
//do stuff
}
答案 0 :(得分:1)
如果我得到你想做的事......那怎么样:
foreach ($Actions AS $cSetting => $bValue) {
if ($bValue === false) {
print($cSetting . ' is false');
}
}
这将允许您针对每个错误的设置执行有针对性的操作。
答案 1 :(得分:0)
我希望我能正确理解你的问题,这有点模糊。
in_array()
函数检查值是否在数组中。您似乎正在关注的是密钥是否存在。您需要使用array_key_exists()
功能。然后,一旦确认,就可以继续使用其余代码。
$Actions['edit'] => true;
$Actions['delete'] => false;
$actionToCheck = 'delete';
if(array_key_exists($actionToCheck, $Actions)) {
//do stuff with the $Actions['delete'] value (which is 'false')
}
中的详情
答案 2 :(得分:0)
编辑:我注意到你的例子中有多个错误值。所以:
<?php
if ($false_keys = array_keys($Actions, false, true)) {
foreach ($false_keys as $action) {
//do stuff with $action
}
}
你的问题很不清楚......