我有这个数组:
Array
(
[1] => Array
(
['s_date'] => 1/1/1989
['e_date'] => 6/30/1989
['rate'] => 7.92
)
[2] => Array
(
['s_date'] => 7/1/1989
['e_date'] => 12/31/1989
['rate'] => 8.18
)
[3] => Array
(
['s_date'] => 1/1/1990
['e_date'] => 6/30/1990
['rate'] => 7.14
)
所以我想在两个给定日期之间搜索rate
,但我不知道如何解决这个问题,我调查了array_search
函数,但它没有帮助。
function findRate($startDate, $endDate) {
// not sure here what needs to be done...
}
感谢您的帮助
答案 0 :(得分:1)
只是为了给你一个方向,当你的功能声明时,你的问题有点不清楚。为什么要查找2个日期?
所以我做了这个
function findRate($date,$array){
$rate=null;
foreach($yourArray as $value){
$s=date('Y-m-d',strtotime($value['s_date']));
$e=date('Y-m-d',strtotime($value['e_date']));
if($s<=$lookup && $lookup<=$e){
$result = $value['rate'];
}
}
return $rate;
}
$rate = findRate('1989-02-02',$yourarrayfromabove);//Result 8.18
尝试理解我在这里所做的事情,并根据需要进行改变。
然后打开下一个问题,自我编写的代码,thnx