Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сумма значений из нескольких массиво по ключу
Форумы портала PHP.SU » » Вопросы новичков » Сумма значений из нескольких массиво по ключу

Страниц (1): [1]
 

1. zapatronen - 15 Мая, 2017 - 12:31:15 - перейти к сообщению
Мне нужно загнать в переменную сумму значиней ключа FZ0437
Пройтись по всем массивам, найти FZ0437 и суммировать все значения этого ключа
Чтобы в итоге получилось echo $value; которая выдаст цифру 5 (1+4);

Подскажите как осуществить такой поиск, есть ли функция определенная или надо что-то придумывать?

array(1)(
FZ0437 => 1,
AZ0432 => 10,
TZ0412 => value3,
...
)

array(2)(
AZ0432 => value,
FZ0437 => 4,
TZ0482 => value3,
...
)





Там формирую массивы. В массивах ключом является артикл товара, а значение кол-во, которое заказал клиент. Вот и нужно для определенных функций высчитать кол-во определенного товара по всем заказам
PHP:
скопировать код в буфер обмена
  1.  
  2.  $querys="SELECT * FROM orders WHERE status =''";
  3.         $datas = mysqli_query($dbc, $querys) or die('error z');
  4.  
  5.       while($rows = mysqli_fetch_array($datas)){
  6.           $bas=unserialize(base64_decode($rows['basket']));
  7.           foreach($bas as $tovar=>$value){
  8.            
  9.          
  10.            
  11.               }
  12.           }
2. arbuzmaster - 15 Мая, 2017 - 14:16:23 - перейти к сообщению
Похоже это http://www.php.su/forum/topic.ph...1&topic=8063 ответ на Ваш вопрос! Так же там есть хорошее высказывание, по поводу того, почему бы не делать все это на уровне БД ?
3. zapatronen - 15 Мая, 2017 - 16:01:39 - перейти к сообщению
мне кажется не получится на уровне БД так как я туда загоняю зашифрованный код, а как вывожу насшифровываю
$bas=unserialize(base64_decode($rows['basket']));
4. Строитель - 15 Мая, 2017 - 16:07:14 - перейти к сообщению
zapatronen, вот вам пример с использованием рекурсии (на вход arrayCollect() передаёте любое количество массивов (от 1 и более))
Спойлер (Отобразить)
5. zapatronen - 16 Мая, 2017 - 10:59:38 - перейти к сообщению
Строитель пишет:
zapatronen, вот вам пример с использованием рекурсии (на вход arrayCollect() передаёте любое количество массивов (от 1 и более))
Спойлер (Отобразить)



Спасибо большое за пример! Все отлично работает

 

Powered by ExBB FM 1.0 RC1