@lucsieus
начинающий самурай

Как объединить одинаковые поля в php?

Просто помогите (подскажите) идеи как это реализовать. Как объединить два одинаковых поля в переменном. В for генерируется поля, дальше эти поля присваиваю к переменному $resul через [.=], если в этой переменной много полей и два из них одинаковы как их объединить и подсчитать количества?
case 'Корзина': {
                    action($chat_id,'typing');
                    $cart_info=getCart($user_id);
                    $cart_products=json_decode($cart_info['product_id'],true);
                    $num=count($cart_products);
                    if($num>0 and $cart_products!=null){
                        $product_array=array();
                        $all_price=0;
                        foreach ($cart_products as $productID){
                            $info=getProduct($productID);
                            $product_array[]=$info;
                            $all_price+=$info['price'];
                        }
                        $result="Ваш заказ:".PHP_EOL.PHP_EOL;
                        $cnt=($num>=$limit_musics)?$limit_musics:$num;
                        for ($i=1;$i<=$cnt;$i++){
                            $product_id=$product_array[$i-1]['id'];
                            $product_name=$product_array[$i-1]['name'];
                            $product_price=$product_array[$i-1]['price'];
                            $resul.=$i.". ".$product_name." - ".$product_price." тг.".PHP_EOL;
                        }
                            $resul.="------------------------".PHP_EOL."Итого - ".$all_price." тг.";
                            message($chat_id, urlencode($result.$resul), getMenu());
                    }else{
                        $msg="♻️Ваша корзина пуста".PHP_EOL.PHP_EOL."Вы можете использовать кнопку продукта или кнопку поиска, чтобы найти нужные продукты и добавить их в корзину!";
                        message($chat_id, urlencode($msg), getMenu());
                    }
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
@rPman
В цикле собираешь не строку а массив, складывая значения в ключи $result[$value]=true; это автоматически уберет дубликаты $value

После цикла собираешь строку с помощью implode взяв ключи как массив array_keys, при этом порядок будет сохранен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы