PHPの配列は非常に柔軟で便利です。PHP.net配列リファレンスページで30を超える配列関数を数えました。それらのいくつかは私の問題を解決することができますが、私は最良の、最もエレガントな方法を探しています。
とという2つの配列がlabor
ありcost
、それぞれにテーブルが含まれています。
labor = array(
0 => array('date' => date, 'labor'=> labor),
1 => array('date' => date, 'labor'=> labor),
...
);
cost = array(
0 => array('date' => date, 'cost'=> cost),
1 => array('date' => date, 'cost'=> cost),
...
);
私の問題は、日付の数が一致しない場合があることです(つまり、労働に何も費やしていないのに費用が発生した日、または労働はあったが費用がなかった日があります)-つまり、より多くの日付がありますある配列の行と次の配列の行-を使用せずにどちらが持っているかを知る方法はありませんcount()
。
私が興味を持っているのは、労力とコストの両方があった日だけであり、最終的には配列になりたいと思っています。
laborcost = array(
0 => array('date' => date, 'labor'=> labor, 'cost' => cost),
1 => array('date' => date, 'labor'=> labor, 'cost' => cost),
...
)
または「u」関数の1つを使用することを考えましarray_intersect()
たが、完全に混乱してしまいました。自分の配列スキャン関数をあきらめて書く前に、1行、場合によっては2行のコードで問題を解決するアイデアがあるかどうかを確認したいと思いました。