0

我有很多变量,我想确保它们不等于某个值。

if($post[0] !== "-" && $post[3] !== "-" && $post[8] !== "-" ...) {
    // code to be executed
}

函数似乎是最聪明的解决方案,类似于:

function check_var($junk_value, $array) {
    foreach($array as $arr) {
        if($arr[$key]) == $junk_value) {
            return false;
        }
        else {
            return true;
        }
    }
}
$junk_value = "-";
$array = array($post[0], $post[3], $post[8], $hello);
check_var($junk_value, $array);

我对 foreach 循环不是很好,我不知道其他人如何使用“$key”,但它输出的是它不是为我设置的。我一直想知道人们如何在没有定义它们的情况下使用“$key”和“$value”变量。

编辑:我吸收了很多关于这个问题的信息。10分钟后,我觉得我知道的太多了。谢谢所有的答案。

4

3 回答 3

5
if (!in_array('-', $post)) {
  // code to be executed
}

你的代码应该是

function check_var($junk_value, $array) {
  foreach($array as $val) {
    if ($val == $junk_value) {
      return false;
    }
  }

  return true;
}
于 2012-08-31T04:58:52.887 回答
1

回答你的问题

我一直想知道人们如何使用“$key”和“$value”变量而不定义它们

您在 foreach 声明中引用键:

foreach($array as $key => $value) {
于 2012-08-31T05:00:09.170 回答
1

使用时

foreach($array as $arr)

$arr不是键,因此您需要检查

 if($arr == $junk_value)

如果您还想要密钥,请使用

foreach($array as $key=>$value)

但是然后再次使用 foreach 你两者都有 valuekey所以不需要使用$arr[$key]

于 2012-08-31T05:00:46.957 回答