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 ?
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
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
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é.