1

嘿,伙计们,这是我的 php:

$x = array("one", "two", "three");
foreach ($x as $value)
{
  if ($value != 'one' && $value != 'two')
  {
    echo $value . "<br />";
  }
}

这个回声只有三个字。我必须使用 $value != 'one' && $value != 'two' 来实现这一点,我想知道是否可以将其合并为如下内容:

if ($value != 'one, two')

这不起作用,所以我想知道你们是否可以提供一些帮助。

4

5 回答 5

4
if (!in_array($value, array('one', 'two')))
  echo $value;
于 2012-05-25T00:50:30.253 回答
2

你可以创建一个 switch 语句让它看起来更漂亮,但这是你能做到的。

switch ($i) {
    case "one":
    case "two":
    case "three":
        echo $value . '<br/>';
        break;
}
于 2012-05-25T00:52:22.460 回答
1

如果在 value == 'three' 时需要打印或进行某些操作,则只需查找 value =='three'

  foreach ($x as $value) 
 {
      if($value === "three")
      echo $value;
 }

你也可以看看使用 === 运算符来比较字符串。因为 == 使用类型杂耍,而 === 强制使用相同的类型(2 个字符串,2 个 int 无混合)链接: http ://www.php.net/manual/en/language.operators.comparison.php

于 2012-05-25T00:55:36.417 回答
1

完全跳过 foreach:

$x=array("one","two","three");
$exclude=array("one","two");

print_r(array_diff($x, $exclude));
于 2012-05-25T01:30:06.777 回答
0
if ($value == 'three')

也许这个?

于 2012-05-25T00:49:46.577 回答