У меня есть функция, которая принимает на вход массив. ("$ inputArr")
массив имеет белый список разрешенных элементов, которые он может содержать. (указан массив с именем "$ allowedArr").
Я хочу отфильтровать любые элементы во входном массиве, которых нет в белом списке $ allowedArr.
Мне нужно сохранить $ allowedArr массив.
Я знаю, как это сделать, используя foreach l oop (код ниже), но мне было интересно, есть ли в PHP встроенная функция, которая может сделать это более эффективно. (без al oop) array_diff не будет работать, потому что он делает противоположное тому, что я пытаюсь выполнить sh - потому что я не ищу то, что отличает два массива, а то, что похоже
$result = myFunc(array('red', 'green', 'yellow', 'blue'));
function myFunc(array $inputArr){
$allowedArr = array('green', 'blue');
$filteredArr = array();
foreach ($inputArr as $inputElement){
if(in_array($inputElement, $allowedArr)){
array_push($filteredArr, $inputElement);
}
}
return $filteredArr;
}
результат, который я пытаюсь получить, в данном случае для $ result:
array ('blue', 'green')