我想創建一個函數,如果$ array1中的所有項都在$ array2中,則返回true,否則返回false。檢查數組元素是否在不同的陣列
我想要做的事:
$array1 = ['1', '3', '9', '17'];
$array2 = ['1', '2', '3', '4', '9', '11', '12', '17'];
function checkArray($arr, $arr2) {
If all elements in $arr are in $arr2 return true
else return false
}
if (checkArray($array1, $array2) {
// Function returned true
} else {
// Function returned false
}
我想不出如何做到這一點!非常感謝。
SOLUTION:
function checkArray($needles, $haystack) {
$x = array_diff($needles, $haystack);
if (count($x) > 0) {
return false;
} else {
return true;
}
}
// Returns false because more needles were found than in haystack
checkArray([1,2,3,4,5], [1,2,3]);
// Returns true because all needles were found in haystack
checkArray([1,2,3], [1,2,3,4,5]);
一個方便的功能,爲什麼不直接使用[和array_diff(http://php.net/manual/en/function.array-diff.php)??? – Baba 2013-03-26 21:01:21
不知道這個,現在感覺像一個eejit大聲笑:)感謝您的幫助! – DavidC799 2013-03-26 21:08:08