how to get filtered values from array like values between range 10-20. my array contain 10,15,18,25,88,20. i want to print only between range 10-20.
There are number of way to filter array in PHP.
Using array_filter
$your_array = array(10,15,18,25,88,20);
$filtered = array_filter($your_array, create_function('$var', 'return $var >= 10 && $var <= 20;'));
var_export($filtered);
In action
If you want to change range start and range end without modifying create_function code:
$your_array = array(10,15,18,25,88,20);
$range_start = 10;
$range_end = 20;
$filtered = array_filter($your_array, create_function('$var', 'return $var >= '.$range_start.' && $var <= '.$range_end.';'));
var_export($filtered);
In action
$your_array = array(10,15,18,25,88,20);
Using foreach loop:
$filtered = array();
$range_start = 10;
$range_end = 20;
foreach ($your_array as $k=>$v) {
if ($v >= $range_start && $v <= $range_end) {
$filtered[$k] = $v;
}
}
var_export($filtered);
In action
Or so if you don't need to create new array, but modify existing one:
$your_array = array(10,15,18,25,88,20);
$range_start = 10;
$range_end = 20;
foreach ($your_array as $k=>$v) {
if (!($v >= $range_start && $v <= $range_end)) {
unset($your_array[$k]);
}
}
var_export($your_array);
In action