ホームページ > バックエンド開発 > PHPチュートリアル > PHP オペレーティング配列に関連する問題

PHP オペレーティング配列に関連する問題

WBOY
リリース: 2016-06-13 13:29:31
オリジナル
736 人が閲覧しました

PHP の配列操作の問題
次のような配列があります:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
//以下是打印出的结果
$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 highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
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 コード
$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 = 配列();
foreach($ar_tmp as $v) $ar[date('Y-m-').str_pad($v, 2, '0', STR_PAD_LEFT)] = 0;

print_r(array_merge($ar, $html));
<br><font color="#e78608">------解決策---------</font><br>
ログイン後にコピー
PHP コード
[ユーザー:root 時刻:12:16:00 パス:/home/liangdong/php]$ php date.php
配列
(
    [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
)
[ユーザー:root 時刻:12:16:01 パス:/home/liangdong/php]$ cat date.php
<?php
$html = array('2012-05-02' => 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(
                関数($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);
?><div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート