Выбрать из массива только положительные значения

<?php
function to_bool($v){
    return (bool)$v;
}

$array = array(# Попадут в результирующий массив:
               'foo', 1, array(2, 3), (object)'bar', true,
               # будут исключены:
               '', array(), 0, false, null);

print_r(array_filter($array, 'to_bool'));
Array
(
    [0] => foo
    [1] => 1
    [2] => Array
        (
            [0] => 2
            [1] => 3
        )

    [3] => stdClass Object
        (
            [scalar] => bar
        )

    [4] => 1
)

Заменяем array_map, array_filter более лаконичными функциями

<?php
function map($fn, $array){
    return array_map($fn, $array);
}

function kmap($fn, $array){
    $return = array();
    foreach($array as $k=>$v)
        $return[$k] = $fn($k, $v);
    return $return;
}

function filter($fn, $array){
    return array_filter($array, $fn);
}

function kfilter($fn, $array){
    $return = array();
    foreach($array as $k=>$v)
        if($fn($k, $v))
            $return[$k] = $v;
    return $return;
}