php 運算元組有關問題

來源:互聯網
上載者:User
php 運算元組問題
有數組如下:
PHP code
//以下是列印出的結果$html = array('2012-05-02'=>1,'2012-05-07'=>1,'2012-05-24'=>2,'2012-05-25'=>2,'2012-05-28'=>3);print_r($html);//Array ( [2012-05-02] => 1 [2012-05-07] => 1 [2012-05-24] => 2 [2012-05-25] => 2 [2012-05-28] => 3 ) 


想得到如下的結果,
數組個數為當月的天數date('t',time()),如果上面$html中有的,則用上面的數組,沒有的則添0

如下、
PHP code
Array ( [2012-05-01]=>0 [2012-05-02] => 1 [2012-05-03]=>0 [2012-05-04]=>0 ... [2012-05-07] => 1 ... [2012-05-24] => 2 [2012-05-25] => 2 [2012-05-28] => 3 )


謝謝

------解決方案--------------------
PHP code
$html = array('2012-05-02'=>1,'2012-05-07'=>1,'2012-05-24'=>2,'2012-05-25'=>2,'2012-05-28'=>3);$ar_tmp = range(1, date('t'));$ar = array();foreach($ar_tmp as $v) $ar[date('Y-m-').str_pad($v, 2, '0', STR_PAD_LEFT)] = 0;print_r(array_merge($ar, $html));
------解決方案--------------------
PHP code
[User:root Time:12:16:00 Path:/home/liangdong/php]$ php date.php Array(    [2012-05-01] => 0    [2012-05-02] => 1    [2012-05-03] => 0    [2012-05-04] => 0    [2012-05-05] => 0    [2012-05-06] => 0    [2012-05-07] => 1    [2012-05-08] => 0    [2012-05-09] => 0    [2012-05-10] => 0    [2012-05-11] => 0    [2012-05-12] => 0    [2012-05-13] => 0    [2012-05-14] => 0    [2012-05-15] => 0    [2012-05-16] => 0    [2012-05-17] => 0    [2012-05-18] => 0    [2012-05-19] => 0    [2012-05-20] => 0    [2012-05-21] => 0    [2012-05-22] => 0    [2012-05-23] => 0    [2012-05-24] => 2    [2012-05-25] => 2    [2012-05-26] => 0    [2012-05-27] => 0    [2012-05-28] => 3    [2012-05-29] => 0    [2012-05-30] => 0    [2012-05-31] => 0)[User:root Time:12:16:01 Path:/home/liangdong/php]$ cat date.php  1,'2012-05-07' => 1,'2012-05-24' => 2,'2012-05-25' => 2,'2012-05-28' => 3);date_default_timezone_set('PRC');$mday = array_map(                function($input) {                        return str_pad($input, 2, "0", STR_PAD_LEFT);                }, range(1, date('t')));$prefix = date('Y-m-');foreach ($mday as $day) {        $date = $prefix . $day;        if (!array_key_exists($date, $html)) {                $html[$date] = 0;        } }ksort($html, SORT_REGULAR);print_r($html);?> 
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.