Si vous avez un tableau qui contient 6 éléments, dont 3 chaînes vides:
$arr = array('cat1', 'cat2', 'cat3', '', '', '');
Vous pouvez implode
ceux dans une chaîne, de cette façon:
echo '"' . implode('","', $arr) . '"';
Et vous obtiendrez la sortie suivante:
"cat1","cat2","cat3","","",""
Fondamentalement, implode
vous permet de mettre tous les éléments du tableau dans une chaîne, en utilisant un séparateur - ici, le séparateur est ","
qui est ce que vous pouvez entre vos cordes.
Et, comme imploser seulement mettre le séparateur entre les éléments, nous devons mettre un "
additionnel au début et à la fin de la chaîne résultante.
(J'espère avoir compris ce que vous vouliez dire ...)
EDIT après le commentaire:
OK, si votre tableau $arr
ne contient six éléments au début:
$arr = array('cat1', 'cat2', 'cat3');
Une possibilité pourrait être de créer un tableau avec des éléments vides; comme celui-ci, par exemple:
$count = count($arr);
// Create an array with empty elements
$padding = array_fill($count, 6-$count, '');
var_dump($padding);
Et puis, les ajouter à la gamme $arr
:
// Add the empty elements to $arr
$arr = $arr + $padding;
(Vous pouvez également utiliser array_merge
, je suppose)
Et maintenant , retour à notre implode
:
echo '"' . implode('","', $arr) . '"';
Et, cette fois encore, vous obtenez:
"cat1","cat2","cat3","","",""
Voici ce que l'var_dump($padding);
donne, pour information:
array
3 => string '' (length=0)
4 => string '' (length=0)
5 => string '' (length=0)
Et, oui, vous pouvez utiliser le +
operator with arrays(citant):
L'opérateur +
ajoute des éléments de les clés restantes du droitier remis à gauche, tandis que les clés dupliquées ne sont PAS remplacées.
Si votre $arr
pourrait être plus de 6 éléments, vous pouvez utiliser array_slice
pour supprimer les éléments un-voulu:
$arr = array('cat1', 'cat2', 'cat3', '', '', '', '');
$arr = array_slice($arr, 0, 6);
echo '"' . implode('","', $arr) . '"';
Salut Pascal, Merci pour votre réponse. Je ne vais pas obtenir les chaînes vides au départ. je pourrais obtenir: CAT1, CAT2, CAT3 ou CAT1, CAT2, CAT3, cat4, CAT5 Dans les deux cas, je besoin que la sortie soit plus de 6 articles. – Martin
@Martin: J'ai édité ma réponse avec quelques informations supplémentaires et un exemple :-) –