PHP如果具有多个条件的语句

PHP If Statement with Multiple Conditions

我有一个变量cx1〔0〕。

如果$var等于下列值之一,我要echo "true"abcdefhijklmnop。有没有办法用一个像&&这样的语句来做到这一点??


一种优雅的方法是在飞行中构建一个数组,并使用in_array()

1
if (in_array($var, array("abc","def","ghi")))

switch声明也是另一种选择:

1
2
3
4
5
6
7
8
9
switch ($var) {
case"abc":
case"def":
case"hij":
    echo"yes";
    break;
default:
    echo"no";
}


1
2
3
4
if($var =="abc" || $var =="def" || ...)
{
    echo"true";
}

我想用"或"而不是"和"会有帮助的


不知道,你为什么要用&&。有一个更简单的解决方案

1
2
3
echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop'))
      ? 'yes'
      : 'no';

可以在php的数组函数中使用

1
2
3
4
5
6
$array=array('abc', 'def', 'hij', 'klm', 'nop');

if (in_array($val,$array))
{
  echo 'Value found';
}

您可以尝试以下操作:

1
2
3
<?php
    echo (($var=='abc' || $var=='def' || $var=='hij' || $var=='klm' || $var=='nop') ?"true" :"false");
?>

您可以使用布尔运算符或:||

1
2
3
if($var == 'abc' || $var == 'def' || $var == 'hij' || $var == 'klm' || $var == 'nop'){
    echo"true";
}


我发现这种方法对我很有用:

1
2
3
4
5
$thisproduct ="my_product_id";
$array=array("$product1","$product2","$product3","$product4");
if (in_array($thisproduct,$array)) {
    echo"Product found";
}


试试这段代码:

1
2
3
4
5
6
7
$first = $string[0];
if($first == 'A' || $first == 'E' || $first == 'I' || $first == 'O' || $first == 'U') {
   $v='starts with vowel';
}
else {
   $v='does not start with vowel';
}

在循环中使用数组并将每个值1比1进行比较是很好的。它的优点是可以更改测试数组的长度。写一个带2个参数的函数,1是测试数组,另一个是要测试的值。

1
2
3
4
5
6
7
8
9
10
$test_array = ('test1','test2', 'test3','test4');
for($i = 0; $i < count($test_array); $i++){
   if($test_value == $test_array[$i]){
       $ret_val = true;
       break;
   }
   else{
       $ret_val = false;
   }
}

我不知道$var是否是一个字符串,您只想找到那些表达式,但这里它是双向的。

尝试使用preg_match http://php.net/manual/en/function.preg-match.php

1
2
if(preg_match('abc', $val) || preg_match('def', $val) || ...)
   echo"true"