How to filter an array by a condition
arrays, filter, higher-order-functions, php
Solution
$fullArray = array('a'=>2,'b'=>4,'c'=>2,'d'=>5,'e'=>6,'f'=>2);
function filterArray($value){
return ($value == 2);
}
$filteredArray = array_filter($fullArray, 'filterArray');
foreach($filteredArray as $k => $v){
echo "$k = $v";
}
Problem
I have an array like this: ``` array("a" => 2, "b" => 4, "c" => 2, "d" => 5, "e" => 6, "f" => 2) ``` Now I want to filter that array by some condition and only keep the elements where the value is equal to 2 and delete all elements where the value is NOT 2. So my expected result array would be: ``` array("a" => 2, "c" => 2, "f" => 2) ``` Note: I want to keep the keys from the original array. How can I do that with PHP? Any built-in functions?