Quelque chose qui me tracasse depuis longtemps:façon élégante pour extraire des valeurs de tableau
Je veux convertir ce tableau:
// $article['Tags']
array(3) {
[0] => array(2) {
["id"] => string(4) "1"
["tag"] => string(5) "tag1"
},
[1] => array(2) {
["id"] => string(4) "2"
["tag"] => string(5) "tag2"
},
[2] => array(2) {
["id"] => string(4) "3"
["tag"] => string(5) "tag3"
},
}
Pour ce formulaire:
// $extractedTags[]
array(3) {
[0] => string(4) "tag1",
[1] => string(4) "tag2",
[2] => string(4) "tag3",
}
actuellement i utilise ce code:
$extractedTags = array();
foreach ($article['Tags'] as $tags) {
$extractedTags[] = $tags['tag'];
}
Y at-il une façon plus élégante de le faire, peut-être une fonction intégrée PHP?
Vous pouvez utiliser 'array_filter' en utilisant une fonction de rappel, mais c'est probablement moins élégante que la solution que vous avez. Je resterais probablement avec ce que tu as. –
Comme mes mesures sur le http://stackoverflow.com/questions/2939189/php-multi-dimensional-array-manipulation/2939204#2939204 dupliquer montrent la méthode la plus rapide de faire ce que vous voulez est le foreach. Les 'array_map' et' array_filter' ont un surcoût énorme car ils ont besoin d'appeler une fonction définie par l'utilisateur pour chaque élément. –
Je viens d'ajouter cette proposition pour PHP 5.5: https://wiki.php.net/rfc/array_column - fait exactement ce que j'ai demandé. – smoove