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

php - Question : Comment fusionner des tableaux à deux dimensions lorsque les deux champs store_id et source sont identiques ?

array(5) {
  [0]=>
  array(14) {
    ["id"]=>
    string(3) "143"
    ["store_id"]=>
    string(3) "504"
    ["goodsid"]=>
    string(2) "15"
    ["source"]=>
    string(1) "2"
  }
  [1]=>
  array(14) {
    ["id"]=>
    string(3) "142"
    ["store_id"]=>
    string(3) "503"
    ["goodsid"]=>
    string(2) "33"
    ["source"]=>
    string(1) "2"
  }
  [2]=>
  array(14) {
    ["id"]=>
    string(3) "141"
    ["store_id"]=>
    string(3) "638"
    ["goodsid"]=>
    string(2) "41"
    ["source"]=>
    string(1) "1"
  }
  [3]=>
  array(14) {
    ["id"]=>
    string(3) "140"
    ["store_id"]=>
    string(3) "638"
    ["goodsid"]=>
    string(2) "41"
    ["source"]=>
    string(1) "1"
  }
}

Comment un tel tableau peut-il être fusionné si les deux champs store_id et source sont identiques ?

过去多啦不再A梦过去多啦不再A梦2660 Il y a quelques jours687

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

  • 三叔

    三叔2017-06-10 09:49:30

    Pas de fonctions prêtes à l'emploi. Je ne peux l'écrire que moi-même et je ne comprends pas ce que vous entendez par fusionner. . .
    Vous pouvez parcourir les données.
    Les nouvelles données utilisent les deux champs $store_id.'_'.$source comme clé
    $data[$store_id.'_'.$source][] = $_data;
    De cette façon, ou de la façon dont vous souhaitez le gérer

    répondre
    0
  • 漂亮男人

    漂亮男人2017-06-10 09:49:30

    Je ne veux pas écrire de code, juste mes pensées
    1 Depuis la fusion, si id et goodid ne peuvent pas être écrasés, nous ne pouvons utiliser qu'un tableau de structure à trois couches, c'est-à-dire que store_id et source sont la classe parent comme une couche, et les sous-classes id et goodid constituent une seule couche.
    2. Fusionnez les deux champs avec le même store_id et la même source, c'est-à-dire fusionnez les deux champs dans un nouveau tableau comme valeur clé, ajoutez à nouveau toutes les informations. Sinon, ajoutez les éléments enfants. directement

    répondre
    0
  • ringa_lee

    ringa_lee2017-06-10 09:49:30

    La méthode de mappage utilisant hashmap :
    1. Construisez une structure de données sous forme de hashmap, utilisez la combinaison store_id et source comme clé, utilisez un tableau de variables comme valeur et stockez toutes les données correspondant au store_id et à la source dans le tableau de variables.
    2. Pour faciliter le tableau bidimensionnel, si la clé combinée par store_id et source existe déjà dans la structure de données construite, alors placez toutes les données correspondant à store_id et source dans le tableau de variables correspondant à la clé. S'il n'existe pas, ajoutez-en un. La nouvelle paire clé-valeur utilise également la valeur combinée de source et store_id comme clé, et le tableau de variables comme valeur. Placez toutes les données correspondant à source et store_id dans le tableau de variables correspondant à key.
    3. Hashmap pratique pour fusionner les données dans le tableau correspondant à chaque clé.

    répondre
    0
  • Annulerrépondre