2013-05-30 64 views
-6

是否可以在php中一次检查if语句中数组的所有值?如何编写if(或switch)语句来检查数组中的所有值php

E.g. 我有数组:

$testing = array(true, true, true); 

我要像做

if($testing == (true, true, true)){ 
    //do something 
}else if ($testing == (true, true, false)){ 
    //do something else 
} 
etc... 

如果这是不可能的,没有任何人有关于如何可以做到这一点任何想法? 非常感谢!

+0

看起来像 “让我们回到绘图板” 型的你有问题那里。假设这样的事情是可能的,你想完成什么? –

+1

调用所有变量$ testing使你的代码变得可以理解,我可以用多种方式解释 – 2013-05-30 09:46:27

+0

没有解释的Downvotes是如此... ***建设性的***,是的。 – BlitZ

回答

0

你可以这样对它们进行比较:

$testing = Array(true, true, true); 

if($testing == array(true, true, true)){ 
    //do something 
}else if ($testing == array(true, true, false)){ 
    //do something else 
} 

你并不需要再次使用相同的变量$testing。只需创建一个新的数组来比较它。

+0

它甚至可能是''语法。 – BlitZ

1

是的,in_array()函数检查给定数组中的字符串。

<?php 
$os = array("Mac", "NT", "Irix", "Linux"); 
if (in_array("Irix", $os)) { 
    echo "Got Irix"; 
} 
if (in_array("mac", $os)) { 
echo "Got mac"; 
} 
?> 
0

你的意思是这样的?

$a = array('a','b','d'); 
if ($a == array('a','b','c')) { 
    // first 

} elseif ($a == array('a','b','d')) { 
    // second 
} 
+0

我相信这正是我所说:) – Alvaro

+0

似乎是这样,我输入了一点慢:) – Tiit

+0

辉煌,正是我所需要的,谢谢 – user1364469

0

尝试和array_diff:

$array1 = array("a" => "green", "red", "blue", "red"); 
$array2 = array("b" => "green", "yellow", "red"); 
$result = array_diff($array1, $array2); 

print_r($result); 
0

我认为你需要一个这样的脚本:

$testing = array(true, true, true); 

foreach ($testing as $key = > $value) 
{ 
    if ($value != TRUE) 
     { 
     die(); 
     } 
    else 
     { 
     // do something 
     } 
}