recherche

Maison  >  Questions et réponses  >  le corps du texte

problème de traversée du tableau php foreach

< /p>

Comme le montre la figure, comment faire en sorte que les mêmes nombres dans order_id ne soient affichés qu'une seule fois dans une boucle

L'entreprise est comme ceci. Ce tableau enregistre la relation entre une commande et un produit. order_id est l'identifiant de la commande. Par conséquent, les deux 815 enregistrés dans le tableau indiquent qu'il s'agit de la même commande. même identifiant de commande

Ensuite, la question est de savoir comment fusionner le même order_id en une seule sortie lors de l'affichage de la liste de commandes

L'image ci-dessus montre la sortie séparée du même order_id et comment les fusionner

PHP中文网PHP中文网2786 Il y a quelques jours605

répondre à tous(6)je répondrai

  • 高洛峰

    高洛峰2017-05-16 13:05:11

    $user_orders = 你获取的数据库数据;
    $order_array = array();
    foreach($user_orders as $value){
        $order_array[$value['order_id']][] = something;//一些你想放进去的数据 
    }
    return $order_array;

    Sortez le tableau en fonction de l'ID de commande et fusionnez directement les mêmes (veuillez me dire s'il y a quelque chose qui ne va pas)

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:05:11

    Cela n'a rien à voir avec votre boucle foreach et tout à voir avec la logique de rendu de la page.

    Par exemple : lorsque vous constatez qu'il y a déjà le même numéro de commande auparavant, ce n'est pas grave si vous n'affichez plus le numéro de commande

    répondre
    0
  • 高洛峰

    高洛峰2017-05-16 13:05:11

    Il y a un problème avec la structure de la table. Généralement, il existe une table de commande et une table de produits de commande. Avec votre structure de table actuelle, vous pouvez d'abord interroger le groupe par order_id, puis foreach order_id, puis boucler pour interroger tous les produits qu'il contient. id_commande

    répondre
    0
  • 某草草

    某草草2017-05-16 13:05:11

    Cela devrait être le résultat que vous souhaitez, traitez-le puis répétez.

    $arr = array(
                array('pro_id'=>1,'order_id'=>1),
                array('pro_id'=>2,'order_id'=>1),
                array('pro_id'=>3,'order_id'=>2),
                array('pro_id'=>4,'order_id'=>3),
                array('pro_id'=>5,'order_id'=>4),
            );
    $arr = array_column($arr,null,'order_id');
    print_r($arr);die;
    //打印结果如下
    Array
    (
        [1] => Array
            (
                [pro_id] => 2
                [order_id] => 1
            )
    
        [2] => Array
            (
                [pro_id] => 3
                [order_id] => 2
            )
    
        [3] => Array
            (
                [pro_id] => 4
                [order_id] => 3
            )
    
        [4] => Array
            (
                [pro_id] => 5
                [order_id] => 4
            )
    
    )

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-16 13:05:11

    Supprimer les doublons lors de la récupération de la base de données

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:05:11

    sélectionnez distinctif(order_id)

    répondre
    0
  • Annulerrépondre