What is the best way to exclude an array of entries? I have done a &quot;Is featured&quot; switch on articles which works great. I can list the latest 4 featured articles but after that I would like to list the others (Of course they may be featured too). What is the best way to exclude an array of elements when getting elements? Or is there a better solution?
Update 1
{% set allArticles = craft.entries.section('articles').find() %}
{% set featuredArticles = craft.entries.section('articles').featured(1).limit(4).find() %}
{% set notFeaturedArticles = allArticles|without(featuredArticles) %}

This is the code and the notFeaturedArticles returns with the same entries as the allArticles.
Update 2
{% set featuredArticleIds = craft.entries.section('articles').featured(1).limit(4).ids() %}
{% set featuredArticlIdsString = featuredArticleIds | join(', ') %}
{% set notFeaturedArticles = craft.entries.section('articles').id('not '~featuredArticlIdsString) %}

In this case only the first entry is excluded from the not featured articles.
Craft documentation describes how to exclude entries with a given value. In this case, we want a string that looks like: 'and, not id1, not id2, not id3, not id4'

So we need a string that is all of the featured article ids separated by , not. First, get them as an array using ids():

{% set featuredArticleIds = craft.entries.section('articles').featured(1).limit(4).ids() %}


Then convert that array to a string, using twig's join filter:

{% set featuredArticleIdsString = featuredArticleIds | join(', not ') %}


Then, fetch all the articles, but not the featured ones:

{% set notFeaturedArticles = craft.entries.section('articles').id('and, not '~featuredArticleIdsString) %}


[thanks to carlcs for crucial fix]