PHP:确定十几个变量中的任何一个是否具有特定值

pee*_*pee -1 php

假设我有十几个变量,都有/无值.除了...之外还有更好的方法吗?

if ($q1=='yes' || $q2=='yes' || $q3=='yes'...
Run Code Online (Sandbox Code Playgroud)

...找出这些值中的至少一个是否等于肯定?这是一个var_dump数组.我只关心qX价值观

array(16) {
  ["q1"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q1"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q2"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q2"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q3"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q3"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q4"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q4"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q5"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q5"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q6"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q6"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q7"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q7"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q8"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q8"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q9"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(2) "q9"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q10"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(3) "q10"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q11"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(3) "q11"
      ["value"]=>
      string(1) "no"
    }
  }
  ["q12"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(3) "q12"
      ["value"]=>
      string(1) "no"
    }
  }
  ["fitness_test_pst"]=>
  array(1) {
    [0]=>
    array(3) {
      ["text"]=>
      string(22) "1 day PST (Bleep Test)"
      ["name"]=>
      string(16) "fitness_test_pst"
      ["value"]=>
      string(1) "1"
    }
  }
  ["pst_date"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(8) "pst_date"
      ["value"]=>
      string(8) "2-5-2018"
    }
  }
  ["location"]=>
  array(1) {
    [0]=>
    array(3) {
      ["text"]=>
      string(8) "Here or there"
      ["name"]=>
      string(8) "location"
      ["value"]=>
      string(8) "Here or there"
    }
  }
  ["confirm"]=>
  array(1) {
    [0]=>
    array(2) {
      ["name"]=>
      string(7) "confirm"
      ["value"]=>
      string(1) "yes"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

dec*_*eze 6

对这个问题的字面答案将是:

if (in_array('yes', [$a, $b, $c, ...]))
Run Code Online (Sandbox Code Playgroud)

但真正的问题是为什么你有十几个明显相关的变量松散地漂浮在周围,而不是像开始那样将它们放在一个数组中.