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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Пройтись по всем массивам, найти FZ0437 и суммировать все значения этого ключа
zapatronen
Отправлено: 15 Мая, 2017 - 12:31:15
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Мне нужно загнать в переменную сумму значиней ключа 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.           }
 
 Top
arbuzmaster
Отправлено: 15 Мая, 2017 - 14:16:23
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Похоже это http://www.php.su/forum/topic.ph...1&topic=8063 ответ на Ваш вопрос! Так же там есть хорошее высказывание, по поводу того, почему бы не делать все это на уровне БД ?

(Отредактировано автором: 15 Мая, 2017 - 14:27:45)

 
 Top
zapatronen
Отправлено: 15 Мая, 2017 - 16:01:39
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




мне кажется не получится на уровне БД так как я туда загоняю зашифрованный код, а как вывожу насшифровываю
$bas=unserialize(base64_decode($rows['basket']));
 
 Top
Строитель Модератор
Отправлено: 15 Мая, 2017 - 16:07:14
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




zapatronen, вот вам пример с использованием рекурсии (на вход arrayCollect() передаёте любое количество массивов (от 1 и более))
Спойлер (Отобразить)
 
 Top
zapatronen
Отправлено: 16 Мая, 2017 - 10:59:38
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Строитель пишет:
zapatronen, вот вам пример с использованием рекурсии (на вход arrayCollect() передаёте любое количество массивов (от 1 и более))
Спойлер (Отобразить)



Спасибо большое за пример! Все отлично работает
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB