0
私はこのようになります配列があります。再注文アレイ
Array
(
[0] => Array
(
[amount] => 75.00
[name] => CLIENT1
[week] => 22
)
[1] => Array
(
[amount] => 945.00
[name] => CLIENT1
[week] => 23
)
[2] => Array
(
[amount] => 45.00
[name] => CLIENT1
[week] => 24
)
...
[15] => Array
(
[amount] => 45.00
[name] => CLIENTX
[week] => 22
)
[16] => Array
(
[amount] => 15.00
[name] => CLIENTX
[week] => 22
)
// HAS NO VALUE IN WEEK 23 BUT TWO IN WEEK 22!!!
[17] => Array
(
[amount] => 73.00
[name] => CLIENTX
[week] => 24
)
は私がしようと、この
Array
(
['weeks'] => Array (22,23,24) //ALL WEEKS FOUND SOMEWHERE
['series'] => Array
(
[0] => Array
(
['name'] => 'CLIENT1'
['data'] => Array (75.00, 945.00, 45.00)
)
[1] => Array
(
['name'] => 'CLIENTX'
['data'] => Array (60.00, 0, 73.00)
)
)
)
まずように見えるのアレイを必要とし
これはむしろ論理的な問題であり、プログラミングの問題ではありませんが、私はずっとそれを見ていません。
['weeks'] => Array (22,23,24)
は問題ではありませんが、残りは本当にあります。
私がこれまでに得た最も近いがこれです:
$clientArray = array();
$weekAmount = array();
foreach($hours as $hour){
/* For better readability */
$client = $hour['name'];
$amount = $hour['amount'];
$week = $hour['week'];
if(!array_key_exists($week, $weekAmount)){
$weekAmount[$week] = 0;
}
$weekAmount[$week] = $amount;
$clientArray[$client] = $weekAmount;
ksort($clientArray[$client]); // to order by weeks
}
しかし、これは同じ週から値を追加しないと、私はこれをループする必要が再び、私は "を見つける方法がわかりません「逃した」週を設定し、0
をその値に設定します。
私は自分自身を明確に説明してくれることを願っています。
真のヒーローは...作品の魅力のように!どうもありがとうございます。私は半日かかったとは信じられない...! – PrimuS
あなたは大歓迎です;) 'weeks'配列をソートするのを忘れてしまったことに気付きました。 – roberto06