Php operation array problems include the following arrays: PHPcode below is the output result $ htmlarray (& gt;-05-07 & gt;-05-24 & gt; 2,2012-05-25 & gt; 2,2012-05-28 & gt; 3); print_r ($ html); Array ([20 php operation Array problem
An array is as follows:
PHP code
// The following is the printed result $ html = array ('2017-05-02 '=> 1, '2017-05-07' => 1, '2017-05-24 '=> 2, '2017-05-25 '=> 2, '2017-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)
To get the following results,
The number of arrays is the number of days in the current month date ('t', time (). if there is one in $ html above, the above array is used, and 0 is added if there is none.
As follows,
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 )
Thank you.
------ Solution --------------------
PHP code
$ Html = array ('2017-05-02 '=> 1, '2017-05-07' => 1, '2017-05-24 '=> 2, '2014-05-25 '=> 2, '2014-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 ));
------ Solution --------------------
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);?>