2015-10-02 4 views
-1

Мне нужна помощь. Как закодировать это в 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 /> 

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


Input: (form method)
Item#: Quantity:
111 2
222 5
111 6
Output:
Item#: Quantity:
111 8
222 5
+0

вы можете просто использовать 'update'. –

ответ

0
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 

 Смежные вопросы

  • Нет связанных вопросов^_^