Array
(
[0] => Array
(
[1] => 2011-03-01
[2] => 666.00
[4] => Хуй
)
[1] => Array
(
[1] => 2011-03-01
[2] => 40.00
[4] => Пизда
)
[2] => Array
(
[1] => 2011-03-01
[2] => 80.00
[4] => Хуй
)
[3] => Array
(
[1] => 2011-03-01
[2] => 22.33
[4] => Пизда
)
[4] => Array
(
[1] => 2011-03-03
[2] => 127.00
[4] => Хуй
)
[5] => Array
(
[1] => 2011-03-08
[2] => 10.00
[4] => Хуй
)
[6] => Array
(
[1] => 2011-03-08
[2] => 666.00
[4] => Хуй
)
[7] => Array
(
[1] => 2011-03-08
[2] => 30.00
[4] => Хуй
)
[8] => Array
(
[1] => 2011-03-10
[2] => 123.00
[4] => Пизда
)
[9] => Array
(
[1] => 2011-03-10
[2] => 15.00
[4] => Пизда
)
)
Форум → Программирование → PHP для идиотов → выборка из массива
выборка из массива
-
Памажите, ваще в вашем пхп не рублю .вобщем есть у меня массифчег с данными мне нужно сосчитать сумму [2] за день [1] изабрёл велосипед с ифами но имхо это уебанство какоетоСпустя 96 сек.да и чот он нехуя не пашед даже код не выложу надо искать нормальный подход
-
10 марта 2011 г. 20:10, спустя 7 минут 4 секунды
$result = 0; foreach ($myArray as $data) { $result += $data[2]; }
так ?Спустя 43 сек.а сори, условие не доконца дочиталСпустя 168 сек.$result = array(); foreach ($myArray as $data) { if (isset($result[$data[1]])) { $result[$data[1]] += $data[2]; } else { $result[$data[1]] = $data[2]; } }
-
-
-
11 марта 2011 г. 14:12, спустя 17 часов 40 минут 37 секунд
этакий самодельный SQL select sum(n) :)))<?php $source = array( array('2011-03-01', 666.00, 'Хуй'), array('2011-03-01', 40.00, 'Пизда'), array('2011-03-01', 80.00, 'Хуй'), array('2011-03-01', 22.33, 'Пизда'), array('2011-03-03', 127.00, 'Хуй'), array('2011-03-08', 10.00, 'Хуй'), array('2011-03-08', 666.00, 'Хуй'), array('2011-03-08', 30.00, 'Хуй'), array('2011-03-10', 123.00, 'Пизда'), array('2011-03-10', 15.00, 'Пизда') ); $dates = array_unique(array_map(create_function('$item', '{ return $item[0]; }'), $source)); $sums = array(); foreach ($dates as $date) { $allOnDate = array_filter($source, create_function('$item', '{ return $item[0] == \'' . $date . '\'; }')); $sumOnDate = array_reduce($allOnDate, create_function('$v, $w', '{ $v += $w[1]; return $v; }'), 0); $sums[$date] = $sumOnDate; } var_export($sums);
ιιlllιlllι унц-унц -
11 марта 2011 г. 9:34, спустя 19 часов 21 минуту 17 секунд
artoodetoo, тебе не кажется что мой вариант слегка читабельнее ?))) -
11 марта 2011 г. 14:12, спустя 4 часа 38 минут 16 секунд
согласен. это просто блажь - сделать по максимуму на array_*ιιlllιlllι унц-унц -
18 августа 2012 г. 23:23, спустя 526 дней 8 часов 10 минут
ага,мне так говорятт,кагда собираються меня бросить
Пожалуйста, авторизуйтесь, чтобы написать комментарий!