【问题标题】:How to construct a Year, Month, Day - mm rain muliple PHP array如何构造年月日-mm雨多个PHP数组
【发布时间】:2013-12-05 04:13:07
【问题描述】:

以下是一个程序的摘录,该程序按日期记录了特定年份的一个月中的雨天。

function get_rain_detail ($year) {

// Cycle through the month and possible days 
for ($mnt = 0 ; $mnt < 12 ; $mnt++ ) {
    for ( $day = 0 ; $day < 31 ; $day++ ) {
        if ($maxdays[$mnt] < $day + 1 ) {
        } else {
            if ( $raw[$mnt][0][$day][$rawlb['rain']] == "" ) {
                $put = "---";
            } else {
                $put = sprintf("%01.1f", $raw[$mnt][0][$day][$rawlb['rain']]);
                $rainmonth[$mnt][0] = $rainmonth[$mnt][0] + $put;
                if ($put > 0.0) {
                    $rainmonth[$mnt][1] = $rainmonth[$mnt][1] + 1;
                }
                $data_rdays = sprintf("%01.1f", $put);
                $month=substr( $mnthname[$mnt], 0, 3 );     
                $days =$day+'1';
            }   
            $datay[] = "[$year,$month,$days,$data_rdays]";
        }
    }
}

结果数组是Array ( [0] =&gt; [2013,Jan,1,7.0] [1] =&gt; [2013,Jan,2,0.2] [2] =&gt; [2013,Jan,3,0.0] [3] =&gt; [2013,Jan,4,0.0] 等。 我需要能够提取所有的日子,例如例如一月“2013”​​年。为此,我可能需要每天从 $year、$month 和 $day 循环构造一个多维数组。这是我遇到困难的地方,希望得到一些指导。

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    您最初可能会在数组$datay[] 中写入值,但要使其具有关联性。在这种情况下,您可以在循环中获取所需的所有数据。您的新数组可能如下所示:

    $datay[] = array('year' => $year, 'month' => $month, 'days' => $days, 'data_rdays' => $data_rdays);
    

    然后:

    foreach($datay as $value) {
        if($value['year'] == 2013 && $value['month'] == 'Jan') {
            //do some stuff here...
        }
    }
    

    对我来说最简单的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多