J'ai la prochaine gammetableau de reformater sans variable température
[
['id' => 30, 'count' => 3],
['id' => 45, 'count' => 7]
]
je besoin d'être
[
30 => ['count' => 3],
45 => ['count' => 7]
]
Ce que j'ai
$formatted = [];
foreach ($services as $service) {
$formatted[$service['id']] = [
'count' => $service['count']
];
}
Ce que je voudrais est un plus solution élégante sans la variable $ formatée temporaire. Merci!
Mise à jour. Merci beaucoup @rtrigoso! Avec la collection Laravel, mon code ressemble à côté
$services->reduce(function ($carry, $item) {
$carry[$item['id']] = ['count' => $item['count']];
return $carry;
});
Pourquoi si? Si vous n'utilisez pas une troisième variable et mettez directement à jour le tableau principal ... Vous risquez de remplacer les index. Par exemple, si vous avez un ID 30, mais que vous avez également un élément à l'index 30, il l'écrase lorsque vous définissez l'ID. –
Juste sentir qu'il devrait y avoir une façon plus élégante et juste de le faire. Quelque chose comme $ formatted = array_magic ($ array, 'id') – cleverketchup