Вопрос по php, arrays – Удалить элементы одного массива, если он найден в другом [дубликат]

42

Possible Duplicate:
Remove item from array if it exists in a 'disallowed words' array

У меня есть динамическая строка, которую отправят клиенты, и я хочу создать из нее теги с разделителями-запятыми:

$subject = "Warmly little in before cousin as sussex and an entire set Blessing it ladyship.";
print_r($tags = explode(" ", strtolower($subject)));

И все же я хочу удалить определенную группу слов (например, определенные статьи), но я хочу удалить ключ и значение этого слова, если оно находится в разобранном массиве:

$definite_articles = array('the','this','then','there','from','for','to','as','and','or','is','was','be','can','could','would','isn\'t','wasn\'t', 'until','should','give','has','have','are','some','it','in','if','so','of','on','at','an','who','what','when','where','why','we','been','maybe','further');

Если одно из этих слов в$definite_article Массив в$tags массив удаляет ключ и значение этого слова, и новый массив удалит эти слова. Я буду использовать этот массивarray_rand иметь случайную группу слов, выбранных из него. Я пробовал много вещей, чтобы достичь своего результата, но пока ничего. Может ли кто-нибудь помочь мне найти решение этой проблемы?

CLUE: array_diff () Mark Baker
посмотрите на array-diff-key () и ссылку на ссылку [php.net/manual/en/function.array-diff-key.php ] manish1706
Посмотрите array_diff () в руководстве GordonM

Ваш Ответ

2   ответа
69

array_diff:

$subject = "Warmly little in before cousin as sussex...";
$tags = explode(" ", strtolower($subject));

$definite_articles = array('the','this','then','there','from','for','to','as');

$tags = array_diff($tags, $definite_articles);
print_r($tags);

Увидеть это в действии.

33

array_diff().

array <strong>array_diff</strong> ( array $array1 , array $array2 [, array $... ] )

Compares array1 against array2 and returns the difference.

Что в основном означает, что он вернетсяarray1 после того, как он был лишен всех значений, которые существуют вarray2.

array_diff()Error: User Rate Limit Exceededarray1Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы