Объединяйте одинаковые предметы и добавляйте их количество

Мне нужна помощь. Как кодировать это в PHP? Если я использую метод формы для ввода № элемента и количества

form method="post"<br />
input type="number" name="item1" | input type="number" name="quantity1"<br />
input type="number" name="item2" | input type="number" name="quantity2"<br />
input type="number" name="item3" | input type="number" name="quantity3"<br />

Итак, если я поставлю тот же элемент #, то количество добавит свои значения. Заранее спасибо.


Ввод: (метод формы)
Пункт №: Количество:
111 2
222 5
111 6
Выход:
Пункт №: Количество:
111 8
222 5

-1

Решение

function group_items($string=""){
if(!$string){return;}
$grouped=array();
preg_match_all('/([0-9\.]+(?: [0-9\.]+)?)/',$string,$matches);
$string='';
$matches = isset($matches[0])?$matches[0]:array();
foreach($matches as $match){
$exp = explode(' ',$match);
if(!isset($grouped[$exp[0]])){
$grouped[$exp[0]] = $exp[1];
}else{
$grouped[$exp[0]] += $exp[1];
}
}
foreach($grouped as $key => $group){
$string.=$key." ".$group." ";
}
return trim($string);
}

позвонив по:

echo group_items("111 2 222 5 111 6");

выход:

 111 8 222 5
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]