I want to get the minimum date from the date column of a multidimensional array, but only from rows with keycode of 0001.
How would I achieve that?
$a = [ "a" => ['keycode' => '0001','date' => "2015-09-08"], "b" => ['keycode' => '0002','date' => "2015-09-05"], "c" => ['keycode' => '0003','date' => "2015-09-04"], "d" => ['keycode' => '0001','date' => "2015-09-01"], "e" => ['keycode' => '0001','date' => "2015-08-01"] ];
Expected result: 2015-08-01
Advertisement
Answer
I would first extract all of the values that have a keycode of 0001 and create a new array of just those dates. Then use the php min() function.
$a=array(
"a" => array('keycode' => '0001','date' =>"2015-09-08"),
"b" => array('keycode' => '0002','date' =>"2015-09-05"),
"c" => array('keycode' => '0003','date' =>"2015-09-04"),
"d" => array('keycode' => '0001','date' =>"2015-09-01"),
"e" => array('keycode' => '0001','date' =>"2015-08-01")
);
$b = [];
foreach($a as $key => $value){
if($value['keycode']=='0001'){
$b[]=$value['date'];
}
}
print_r($b);
echo min($b);