xxxxxxxxxx
You can filter the elements of an array using the array_filter() function. For example:
$numbers = [1, 2, 3, 4, 5];
$even_numbers = array_filter($numbers, function($number) {
return $number % 2 == 0;
}); // Returns an array containing only the even numbers
xxxxxxxxxx
$array = [
['name' => 'John', 'age' => 45],
['name' => 'Haley', 'age' => 42],
['name' => 'Ally', 'age' => 8],
['name' => 'Meylyn', 'age' => 5],
['name' => 'Nicholas', 'age' => 1],
];
$adults = array_filter($array, function($value) {
return $value['age'] > 18;
});
foreach ($adults as $adult) {
echo $adult['name'] . "<br/>";
}
xxxxxxxxxx
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
?>
xxxxxxxxxx
$array = [1, 2, 3, 4, 5];
$filtered = array_filter($array, function($item) {
return $item != 4; // Return (include) current item if expression is truthy
});
// $filtered = [1, 2, 3, 5]
xxxxxxxxxx
$numbers = [-2, 4, -6, 8, 10];
function isPositive($number)
{
return $number > 0;
}
$filteredArray = array_filter($numbers, "isPositive");
xxxxxxxxxx
<?php
$emp_info = array(
array('emp_name'=>'Sam', 'age'=>25, 'desig'=>'Soft Engineer', 'sal'=>1500000),
array('emp_name'=>'Smith', 'age'=>35, 'desig'=>'Sr. Soft Engineer', 'sal'=>2800000),
array('emp_name'=>'Jai', 'age'=>24, 'desig'=>'Programmer', 'sal'=>1900000),
array('emp_name'=>'Hari', 'age'=>30, 'desig'=>'Sr. Programmer', 'sal'=>2500000),
array('emp_name'=>'Smith Jonson', 'age'=>28, 'desig'=>'Sr. Engineer', 'sal'=>2300000),
array('emp_name'=>'Jenny', 'age'=>32, 'desig'=>'Sr. Engineer', 'sal'=>2200000)
);
$arr_filter = array_filter($emp_info, function($val){
return $val['sal'] > 2000000; // Don't forget to return the value
});
foreach($arr_filter as $emp){
print $emp['emp_name']."<br/>";
}
?>
xxxxxxxxxx
<?php
$fruits = array("Apples", "Banana", "Grapes", "Kiwi", "Strawberry", "Mango",
"Lemon", "Plum", "Papaya", "Pear", "Fig", "Pomegranate", "Peach", "Cherry", "Blueberry", "Jackfruit", "Quince", "Muskmelon", "Blackberry", "Guava");
$flipped = array_flip($fruits);
print_r($flipped);