//ALL
//如果所提供的函数返回 true 的数量等于数组中的成员数量的总和,则函数返回 true, 否则返回 false
function all($items, func){
    return count(array_filter($items, $func)) === count($items);
}
//EXAMPLES
all([2,3,4,5], function($item){
    return $item > 1;
});//true

//ANY
//如果提供的函数对数组中的至少一个元素返回 true,则返回 true, 否则返回false
function any($items, $func){
    return count(array_filter($items, $func)) > 0;
}
//EXAMPLES
any([1,2,3,4], function($item){
    return $item < 2;
});// true

//deepFlatten(深度平铺数组)
//将多维数组转为一维
function deepFlatten($items){
    $result = [];
    foreach($items as $item){
        if(!is_array($item)){
            $result[] = $item;
        }else{
            $result = array_merge($result, deepFlatten($item));
        }
    }
    return $result;
}
//EXAMPLES
deepFlatten([1, [2], [[3], 4], 5]);//[1, 2, 3, 4, 5]

//drop
//返回一个新数组,并从左侧弹出n个元素
function drop($items, $n=1){
    return array_slice($items, $n);
}
//EXAMPLES
drop([1, 2, 3]);//[2,3]
drop([1, 2, 3], 2);//2