HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

array_filter

Description

The array_filter of Array for PHP filters elements of an array using a callback function.

Syntax

array_filter(
    array $array,
    ?callable $callback = null,
    int $mode = 0
): array

Parameters

array

The array to iterate over.

callback

The callback function to use.

If no callback is supplied, all empty entries of array will be removed.

mode

Flag determining what arguments are sent to callback:

ValueConstantDescription
0pass value as the only argument to callback
1ARRAY_FILTER_USE_BOTHpass both value and key as arguments to callback
2ARRAY_FILTER_USE_KEYpass key as the only argument to callback

Return

Returns the filtered array.

Examples

1 · array

<?

$array =
[
    0 => null,
    1 => false,
    2 => 0,
    3 => 0.0,
    4 => "",
    5 => "0",
    6 => "0.0",
    7 => "abc"
];

$return = array_filter($array);

print_r($return);
Array
(
    [6] => 0.0
    [7] => abc
)

2 · callback · true

<?

function myfunction($value)
{
    return $value;
}

$array =
[
    0 => null,
    1 => false,
    2 => 0,
    3 => 0.0,
    4 => "",
    5 => "0",
    6 => "0.0",
    7 => "abc"
];
$callback = "myfunction";

$return = array_filter($array, $callback);

print_r($return);
Array
(
    [6] => 0.0
    [7] => abc
)

3 · callback · strlen

<?

$array =
[
    0 => null,
    1 => false,
    2 => 0,
    3 => 0.0,
    4 => "",
    5 => "0",
    6 => "0.0",
    7 => "abc"
];
$callback = "strlen";

$return = array_filter($array, $callback);

print_r($return);
Array
(
    [2] => 0
    [3] => 0
    [5] => 0
    [6] => 0.0
    [7] => abc
)

4 · callback · even

<?

function myfunction($value)
{
    return !($value & 1);
}

$array =
[
    "a" => 0,
    "b" => 1,
    "c" => 2,
    "d" => 3,
    "e" => 4
];
$callback = "myfunction";

$return = array_filter($array, $callback);

print_r($return);
Array
(
    [a] => 0
    [c] => 2
    [e] => 4
)

5 · callback · odd

<?

function myfunction($value)
{
    return $value & 1;
}

$array =
[
    "a" => 0,
    "b" => 1,
    "c" => 2,
    "d" => 3,
    "e" => 4
];
$callback = "myfunction";

$return = array_filter($array, $callback);

print_r($return);
Array
(
    [b] => 1
    [d] => 3
)

6 · mode · 0

<?

function myfunction($value)
{
    return $value == 4;
}

$array =
[
    "a" => 0,
    "b" => 1,
    "c" => 2,
    "d" => 3,
    "e" => 4
];
$callback = "myfunction";
$mode = 0;

$return = array_filter($array, $callback, $mode);

print_r($return);
Array
(
    [e] => 4
)

7 · mode · ARRAY_FILTER_USE_KEY

<?

function myfunction($key)
{
    return $key == "c";
}

$array =
[
    "a" => 0,
    "b" => 1,
    "c" => 2,
    "d" => 3,
    "e" => 4
];
$callback = "myfunction";
$mode = ARRAY_FILTER_USE_KEY;

$return = array_filter($array, $callback, $mode);

print_r($return);
Array
(
    [c] => 2
)

8 · mode · ARRAY_FILTER_USE_BOTH

<?

function myfunction($value, $key)
{
    return $value == 4 || $key == "c";
}

$array =
[
    "a" => 0,
    "b" => 1,
    "c" => 2,
    "d" => 3,
    "e" => 4
];
$callback = "myfunction";
$mode = ARRAY_FILTER_USE_BOTH;

$return = array_filter($array, $callback, $mode);

print_r($return);
Array
(
    [c] => 2
    [e] => 4
)