Изолировать уникальные значения из столбца 2D массива и группируйте другие столбцы в SubarraysPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Изолировать уникальные значения из столбца 2D массива и группируйте другие столбцы в Subarrays

Сообщение Anonymous »

У меня есть массив, который выглядит так: < /p>

Код: Выделить всё

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)
)
)
)
сначала попробовать
Это скорее логическая проблема, а не вопрос программирования, но я застрял в поисках на это уже долго. .
Самое близкое, что я получил до сих пор: < /p>

Код: Выделить всё

$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 как значение по значению.

Подробнее здесь: https://stackoverflow.com/questions/385 ... mns-into-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»