ここ3时间、私は超疲れていて、このことをどのように動作させるかわからない。 は、次の配列は、データベースから返されると、最後の7日間のページビュー、日付やメッセージなどの情報が含まれている:配列形式と並べ替え
Array
(
[0] => Array
(
[vws] => 9
[mss] => 0
[dt] => 2016-06-27
)
[1] => Array
(
[vws] => 4
[mss] => 0
[dt] => 2016-06-26
)
[2] => Array
(
[vws] => 1
[mss] => 0
[dt] => 2016-06-24
)
[3] => Array
(
[vws] => 7
[mss] => 0
[dt] => 2016-06-23
)
)
この配列はデータが含まれている必要がありそこにはページビューがありませんかメッセージが送ら場合でもので、これは何です探している:
Array
(
[0] => Array
(
[vws] => 0
[mss] => 0
[dt] => 2016-06-22
)
[1] => Array
(
[vws] => 13
[mss] => 1
[dt] => 2016-06-23
)
[2] => Array
(
[vws] => 7
[mss] => 3
[dt] => 2016-06-24
)
[3] => Array
(
[vws] => 45
[mss] => 10
[dt] => 2016-06-25
)
[4] => Array
(
[vws] => 0
[mss] => 0
[dt] => 2016-06-26
)
[5] => Array
(
[vws] => 0
[mss] => 0
[dt] => 2016-06-27
)
[6] => Array
(
[vws] => 5
[mss] => 1
[dt] => 2016-06-28
)
)
申し訳ありませんが私は十分に明確ではない場合。私はあなたの詳細を必要とする場合私の質問を更新します。 は事前
EDITキーとしてdt
値を使用すると、良いアイデアですが、私はまだ同じ結果がin_array
とdt
値をチェックすることで、より容易に達成することができることを考えているようです でいただきありがとうございます。
@ArtisiticPhoenixのおかげで、このコードは今のところうまく動作します:
$new = [];
foreach ($data as $k => $v) {
$new[$v['dt']] = $v;
}
$Date = new DateTime();
$days = [];
for ($i = 0; $i < 7; ++$i) {
$days[$Date->format('Y-m-d')] = [
'vws' => 0,
'mss' => 0,
'dt' => $Date->format('Y-m-d')
];
$Date->modify('-1 days');
}
$final = array_merge($days, $new);
ボトムカラムのデータをデフォルトにしたいのですか? –
最後の7日間の日付範囲を作成して配列を準備し、配列全体を空の値で埋めることができます。次に値を置き換えるか、配列を取得して最後の7行方不明のものを追加します。動けなくなる?現在のコード/試行を追加してください。 – Rizier123
私は最後の7日の配列を入れてループ内の 'in_array'でチェックしようとしましたが、何らかの理由で最後の配列の先頭または最後に捨てられた日が置かれます – AnfEn