我怎样才能简单地检查一个语句的各种变量?

时间:2017-07-12 08:23:51

标签: php arrays variables if-statement

我想检查同一语句的7个变量,但不是必需的。所有变量都有一个带有自定义键的数组。

例如,我有这段代码:

$generalSettings = array(
"lights" = $_POST['generalLights'],
"tones" = $_POST['generalTones']
);

(还有几个。)

现在,我想检查值是否为1;如果不是,则必须将该值设置为0.

我会这样做:

if($generalSettings['ligts'] == 1) {
$generalSettings['lights'] = 1;
} else {
$generalSettings['lights'] = 0;
}
if($generalSettings['tones'] = 1) {
$generalSettings['tones'] = 1;
} else {
$generalSettings['tones'] = 0;
}

如果你想到3个包含4个项目的数组和4个包含5个项目的数组,这是很多工作。

我现在的问题是:我可以用更简单的方式做到这一点,如果是,怎么做?

2 个答案:

答案 0 :(得分:0)

您可以查看以下内容

$arr = array('a'=>1,'b'=>4,'c'=>9,'d'=>1);    

循环遍历数组并检查值,如果value不是1,则设置为0

foreach($arr  as $key=>$value){
     if($value != 1){
         $arr[$key] = 0;
     }
 }

 echo "<pre>";print_r($arr);

Array
(
    [a] => 1
    [b] => 0
    [c] => 0
    [d] => 1
)

答案 1 :(得分:0)

使用循环:

foreach ($generalSettings as $key) {
  if($generalSettings[$key] == 1)
    $generalSettings[$key] = 1;
  else
    $generalSettings[$key] = 0;
}