まず、2 つの PHP 配列があります。
Y-m
最初の配列には、12 か月ごとに年が含まれる順序で日付の長さが含まれています。この配列は次のようになります...
Array
(
[0] => Array ( [ORDER] => Array ( [DATE] => 2008-10 [QTY] => 0 ) )
[1] => Array ( [ORDER] => Array ( [DATE] => 2008-11 [QTY] => 0 ) )
)
2 番目の配列には、クエリから返されて配列に入れられた値が含まれており、Y-m
各月が含まれている場合と含まれていない場合があります。2枚目はこんな感じ。
Array
(
[0] => Array ( [ORDER] => Array ( [DATE] => 2008-11 [QTY] => 285 ) )
[1] => Array ( [ORDER] => Array ( [DATE] => 2008-12 [QTY] => 900 ) )
)
私の最終目標は、その月に注文がない場合に 0 を表示する Google 折れ線グラフに使用する Ym 日付の配列を作成することです。したがって、その配列は次のようになります。
Array
(
[0] => Array ( [ORDER] => Array ( [DATE] => 2008-10 [QTY] => 0 ) )
[1] => Array ( [ORDER] => Array ( [DATE] => 2008-11 [QTY] => 285 ) )
[2] => Array ( [ORDER] => Array ( [DATE] => 2008-12 [QTY] => 900 ) )
)
したがって、配列アイテムは...
[1] => Array ( [ORDER] => Array ( [DATE] => 2008-11 [QTY] => 0 ) )
同じ日付の値を持つエントリが 2 番目の配列にあったため、削除されました。
今、これが正しい方法であるかどうかはわかりませんが、これまでのところ私が持っているものは次のとおりです。
foreach($FIRST_ARRAY as $key => $each)
{
foreach($each as $line)
{
$findMe = $line['DATE'];
if(in_array($findMe, $SECOND_ARRAY, true))
{
echo 'FOUND:'.$findMe;
}else{
echo $line['DATE'].' ';
echo $line['QTY'].' ';
echo '('.$findMe.')<br>';
}
}
}
これが行っているのは、最初の配列を出力することだけです。日付を「合わせる」ことではありません。これがその印刷物です...
2008-10 0 (2008-10) 2008-11 0 (2008-11) 2008-12 0 (2008-12)
印刷したいものはこちら...
2008-10 0 (2008-10) 2008-11 285 (2008-11) 2008-12 900 (2008-12)
質問は次のとおりです。私はこれについてすべて間違っているのでしょうか、それとももっと良い方法がありますか。
これがすべて理にかなっていることを願っています。