我不確定哪個php函數用於此..比較來自2個陣列的值
如何檢查一個數組是否具有可用於另一個數組中的值?
FRO例如,我有一個文本輸入其中CSV提交--- $str = "green, yellow, blue"
我使用str_getcsv()
創建字符串的數組。然後我想陣列1比較看出以下
$array2 = array("green","yellow","orange","purple");
我比較陣列1陣列2陣列2,以確保提交的值是允許的。所以如果數組1中的值不存在於數組2中,我想返回false
。我試過以下但它不起作用..
$array1 = str_getcsv($str); //create array of colors
$array2 = array("green","yellow","orange","purple"); //allowed colors
if (!in_array($array1, $array2)) if value from array1 not in array2
{
return FALSE;
}
else
{
return TRUE;
}
這是比我想象的更復雜嗎?
+1。我發佈array_intersect(刪除了我的答案),但array_diff在這裏更好。它確實返回* not *在另一個數組中的項目。所以如果array_diff返回任何值,你知道你的輸入是錯誤的。返回的值是不允許的。 – GolezTrol 2011-06-06 22:20:37
同意,array_diff()似乎是一個很好的解決方案 – CyberJunkie 2011-06-06 22:28:25