2010-11-14 7 views
0

Каков наилучший способ исключить массив значений из другого массива? Например, если у меня есть список значений, которые мне не нужны в другом списке? Я пытаюсь не использовать reg ex, и я не думаю, что это должен быть вариант.Как фильтровать точные значения из массива php

ответ

0

Применение

array_dif

Например, как этот

// our initial array 
$arr = Array("blue", "green", "red", "yellow", "green", "orange", "yellow", "indigo", "red"); 
print_r($arr); 

// remove the elements who's values are yellow or red 
$arr = array_diff($arr, array("yellow", "red")); 
print_r($arr); 

// optionally you could reindex the array 
$arr = array_values($arr); 
print_r($arr); 
+0

Ах, индексы должны быть переиндексированы после процесса. Спасибо за этот бит. – wavyGravy

1

Посмотрите на PHP array_diff()-function. Пример из php.net:

// original list 
$array1 = array("a" => "green", "red", "blue", "red"); 

// these values will be removed from the first array 
$array2 = array("b" => "green", "yellow", "red"); 

$result = array_diff($array1, $array2); 

Результат:

Array 
(
    [1] => blue 
) 
+0

Теперь, как это вернуть блау? С каких пор array_diff переводит английский на немецкий? –

+0

@Glenn Nelson: Я уже исправил это;) – jwueller

+0

Спасибо, неуловимый, мне удалось выяснить это некоторое время назад, и я почувствовал себя как noob, когда понял, что это array_diff(). – wavyGravy