I have an array that looks something like this:
Array
(
[0] => apple
["b"] => banana
[3] => cow
["wrench"] => duck
)
I want to take that array and use array_filter or something similar to remove elements with non-numeric keys and receive the follwoing array:
Array
(
[0] => apple
[3] => cow
)
I was thinking about this, and I could not think of a way to do this because array_filter does not provide my function with the key, and array_walk cannot modify array structure (talked about in the PHP manual).
Using a
foreach
loop would be appropriate in this case:As of PHP 5.6, it's now possible to use
array_filter
in a compact form:Demo.
This approach is about 20% slower than a
for
loop on my box (1.61s vs. 1.31s for 1M iterations).Here's a loop:
It can be done without writing a loop in one (long) line:
Don't ask me about performance though.