PHP:删除foreach中的多个值

时间:2012-05-25 00:47:06

标签: php if-statement foreach

嘿,伙计们这里是我的PHP:

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

这个回声只有三个字。我不得不使用$ value!='one'&amp;&amp; $ value!='two'来实现这一点,我想知道我是否可以将其整合到这样的事情中:

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

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

5 个答案:

答案 0 :(得分:4)

if (!in_array($value, array('one', 'two')))
  echo $value;

答案 1 :(得分:2)

您可以创建一个switch语句,使其看起来更漂亮,但这就是您可以去的地方。

switch ($i) {
    case "one":
    case "two":
    case "three":
        echo $value . '<br/>';
        break;
}

答案 2 :(得分:1)

如果您需要打印或在值=='三'时执行某些操作 然后只查找值=='三'

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

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

答案 3 :(得分:1)

完全撇开foreach:

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

print_r(array_diff($x, $exclude));

答案 4 :(得分:0)

if ($value == 'three')

也许这个?