2017-04-25 51 views
0

我有此数组:PHP在给定的两个日期之间的数组值搜索

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... 
} 

感谢您的帮助

+5

在[所以]你应该尝试自己写代码**。后** [做更多的研究](//meta.stackoverflow.com/questions/261592)**如果你有问题,你可以**发布你已经尝试**与清楚的解释是什么是'工作**并提供[** Minimal,Complete和Verifiable示例**](// stackoverflow.com/help/mcve)。我建议阅读[问]一个好问题和[完美问题](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要参加[游览]并阅读[this](// meta.stackoverflow.com/questions/347937/)**。 –

+0

@ dev02你试过的东西请给我们看看? –

+0

@JohnConde:是的,我尝试(如果你看到我以前的答案/问题),但IAM完全失去了这个想法从SO社区获得帮助:( – dev02

回答

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

相关问题