J'ai 2 tableaux que je veux fusionner en fonction de la valeur d'une clé dans le tableau 1. Dans l'exemple ci-dessous, je veux que game_modes soit placé dans la liste de jeux en fonction d'une clé games_list.Tableaux de fusion PHP basés sur une clé de tableau spécifique
Tableau 1 qui est tiré d'une table pleine de jeux:
$games_list = array(
0 => array(
'id' => 23,
'name' => 'Call of Duty: Modern Warfare 3'
),
2 => array(
'id' => 1,
'name' => 'Call of Duty: Black Ops'
)
);
Array 2 qui est tiré d'une table complète de modes de jeu:
$game_modes = array(
0 => array(
'id' => 1,
'game_id' => 1,
'description' => 'Capture the Flag'
),
1 => array(
'id' => 2,
'game_id' => 1,
'description => 'Domination'
),
2 => array(
'id' => 3,
'game_id' => 23,
'description' => 'Kill Confirmed'
)
);
Je voudrais que le résultat soit :
$games_list = array(
0 => array(
'id' => 23,
'name' => 'Call of Duty: Modern Warfare 3'
'modes' => array(
array(
'id' => 3,
'game_id' => 23,
'description' => 'Kill Confirmed'
)
)
),
2 => array(
'id' => 1,
'name' => 'Call of Duty: Black Ops'
'modes'=> array(
0 => array(
'id' => 1,
'game_id' => 1,
'description' => 'Capture the Flag'
),
1 => array(
'id' => 2,
'game_id' => 1,
'description => 'Domination'
)
)
)
);
Infos supplémentaires, le site sur lequel je travaille actuellement contient 71 jeux dans sa base de données et chaque jeu pourrait avoir un nombre arbitraire de modes de jeu.
Maintenant, je pourrais facilement faire un tas de boucles pour éviter cette question et tous ensemble. En ce moment je n'ai pas la tonne de modes de jeu entré dans la base de données, mais je continue d'ajouter plus tout le temps. Avec le temps, faire plus de boucles exponentiellement tout le temps finira par faire tourner la vitesse de chargement de la page.
J'ai pris le temps de placer ces données dans memcache pour accélérer les prochains appels en évitant la boucle.
Je n'ai jamais été bon avec array_map car je ne comprends pas très bien comment cela fonctionne ou si c'est le bon chemin.
Je pensais à ce faire une façon de requête, mais j'aurais un tas d'entrées pour chaque jeu en fonction du nombre de modes de jeu. – Jayrox
@Jayrox: Je crois toujours, la requête serait plus efficace. Pouvez-vous fournir des tableaux/champs pertinents? –
table de jeux est juste (id, game_name) table de games_modes est (id, game_id, description) – Jayrox