Imploser tableau de valeurs?
Donc, j'ai un tableau comme ceci:
Array
(
[0] => Array
(
[name] => Something
)
[1] => Array
(
[name] => Something else
)
[2] => Array
(
[name] => Something else....
)
)
Est-il un moyen simple de l'implosion de la valeur dans une chaîne, comme ceci:
echo implode(', ', $array[index]['name']) //result: Something, Something else, Something else...
sans l'aide d'une boucle à concate les valeurs, comme ceci:
foreach ($array as $key => $val) {
$string .= ', ' . $val;
}
$string = substr($string, 0, -2); //Needed to cut of the last ', '
Je ne sais pas,
Kettler: Oui, mais il ne fonctionne que sur les dimensions des tableaux.
implode()
?Kettler: Oui, mais il ne fonctionne que sur les dimensions des tableaux.
OriginalL'auteur qwerty | 2011-01-31
Vous devez vous connecter pour publier un commentaire.
Façon la plus simple, quand vous avez un seul élément dans l'intérieur des tableaux:
OriginalL'auteur singles
Vous pouvez utiliser un commun
array_map()
astuce pour "aplatir" le tableau multidimensionnel puisimplode()
la "aplatie", mais en interne, PHP encore des boucles grâce à votre tableau lorsque vous appelezarray_map()
.Ce serait, de préférence, à l'aide de array_pop(). Si votre 2ème catégorie tableau est donné touches supplémentaires, il n'est pas garanti "nom" de la clé sera le premier de la pile. Une programmation défensive FTW.
Sur une autre note, si vous êtes sceptique quant à la création d'une nouvelle fonction dans l'espace de noms, puis utiliser des fermetures ou des create_function. echo implode(', ', array_map(create_function('$a', 'return $a["nom"];'), $array));
Vous avez un très bon point concernant votre deuxième commentaire, mais dans ce cas, les célibataires solution fera l'amende juste. Et oui, je suis un peu sceptique sur la création de fonctions pour ce type d'utilisation. Vous voyez, je suis dans le milieu de l'apprentissage de la POO, donc je suis un peu confus au sujet de quand et où les utiliser "normal" des fonctions. Votre dernier commentaire résolu que, bien que. Je souhaite que je pourrais accepter deux postes.
OriginalL'auteur BoltClock
En PHP 5 >= 5.5.0
OriginalL'auteur Oleg Matei