次のような配列があるとします。
array(100) {
[0]=>
array(4) {
["player_id"]=>
string(2) "jk"
["date"]=>
string(10) "2012-11-07"
["hits"]=>
string(4) "1000"
}
[1]=>
array(4) {
["player_id"]=>
string(2) "jk"
["date"]=>
string(10) "2012-11-14"
["hits"]=>
string(4) "2000"
}
[2]=>
array(4) {
["player_id"]=>
string(2) "mc"
["date"]=>
string(10) "2012-11-14"
["hits"]=>
string(4) "1500"
}
[3]=>
array(4) {
["player_id"]=>
string(2) "mc"
["date"]=>
string(10) "2012-11-07"
["hits"]=>
string(4) "2300"
}
...
そして、これは続きます。つまり、基本的には複数のプレーヤーがいて、各プレーヤーに対して 2 つの日付があります。私はこのような配列になりたいと思います:
array(100) {
["jk"]=>
array(2) {
["hits_today"]=>
string(4) "1000"
["hits_difference"]=>
string(5) "-1000"
}
["mc"]=>
array(2) {
["hits_today"]=>
string(4) "1500"
["hits_difference"]=>
string(4) "-800"
}
..
基本的に、最初の配列を処理して、各プレーヤーに 2 つの値があることを認識し、キーとして player_id を使用し、これら 2 つの値の差と今日の値をコンポーネントとして使用する配列の配列を作成します。
私の懸念は次のとおりです。
- 最初の配列を処理する最良の方法は何ですか?
- 今日の価値が存在しない場合、または明日の価値が存在しない場合、どのように対処しますか? 配列の処理中にそれを制御するにはどうすればよいですか?