src/Headzoo/Core/Arrays.php
public static function columnFilter(array $array, $column, $callback)
    {
        foreach($array as $key => $value) {
            if (!$callback($value, $key)) {
                unset($array[$key]);
            }
        }
        return self::column($array, $column);
    }
public static function columnFilter(array $array, $column, $callback)
    {
        foreach($array as $key => $value) {
            if (!$callback($value, $key)) {
                unset($array[$key]);
            }
        }
        return self::column($array, $column);
    }
public static function columnFilter ( array $ array , $ column , $ callback ) { foreach ( $ array as $ key => $ value ) { if ( ! $ callback ( $ value , $ key ) ) { unset ( $ array [ $ key ] ) ; } } return self :: column ( $ array , $ column ) ; }
Filters columns of an array using a callback function

Similar to the column() method, this method returns an array of values
from a multidimensional array where the key equals $column and the list
of column values filtered by a callback function. Each element in $array
is passed to the callback function and the callback returns true to keep
the element, or false to remove it.

The callback function will receive each item in the array as the first
argument, and the array index/key as the second argument.

Example:
```php
$a = [
0 => [
"username" => "headzoo",
"email"    => "sean@headzoo.io",
"admin"    => true
],
1 => [
"username" => "joe",
"email"    => "joe@headzoo.io",
"admin"    => false
],
2 => [
"username" => "sam",
"email"    => "sam@headzoo.io",
"admin"    => true
]
];
$ret = Arrays::columnFilter($a, "username", function($element) { return $element["admin"]; });

// Outputs: ["headzoo", "sam"]
```

@param  array    $array    Multidimensional array
@param  string   $column   Name of the column
@param  callable $callback Filtering function
@return array
Filters columns of an array using a callback function