IMPLODE sur array d'un array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : IMPLODE sur array d'un array

Re: IMPLODE sur array d'un array

par Zahnzao » 17 oct. 2011, 21:55

Je viens d'essayer et cela fonctionne.

Par schéma si tu veux dire que Name soit toujours la dernière clé y'a pas de risque, car le tableau vient d'une requête "SELECT ID,Name FROM ... WHERE ID=...", je dois récupérer que le nom en fait donc même si ma table s'agrandit, cette requête ne changera jamais.

Merci ;)

Re: IMPLODE sur array d'un array

par Yosh » 17 oct. 2011, 16:15

la solution simple en une ligne ne doit pas exister alors :p
Si,
$tab = array(
	0 => array(
  	'id' => 16,
    'name' => 'test 1'
  ),
  1 => array(
  	'id' => 17,
    'name' => 'test 2'
  ),
  2 => array(
  	'id' => 18,
    'name' => 'test 3'
  )
);

echo implode(", ", array_map('end', $tab));
Par contre en utilisant la fonction end, il faut être sûr que schéma ne change jamais...

Donc je te préconise l'autre méthode.

Re: IMPLODE sur array d'un array

par Zahnzao » 17 oct. 2011, 15:44

Oui comme ça aussi Yosh. la solution simple en une ligne ne doit pas exister alors :p

Merci à vous deux.

Re: IMPLODE sur array d'un array

par Yosh » 17 oct. 2011, 15:38

implode(", ", array_map('Reset', $test));

Fonctionne mais me retourne les ID.

J'y arrive en faisant un
$names="";
foreach($test as $list){
   $names.=$list['Name'].", ";
}
Mais bon... implode aurait été plus approprié et plus court. Surtout qu'ici je dois rajouter un count pour ne pas ajouter la virgule sur la derniere ligne.
$names= array();
foreach($test as $list){
   $names[]=$list['Name'];
}

echo implode(", ", $names);

Re: IMPLODE sur array d'un array

par Zahnzao » 17 oct. 2011, 15:33

implode(", ", array_map('Reset', $test));

Fonctionne mais me retourne les ID.

J'y arrive en faisant un
$names="";
foreach($test as $list){
   $names.=$list['Name'].", ";
}
Mais bon... implode aurait été plus approprié et plus court. Surtout qu'ici je dois rajouter un count pour ne pas ajouter la virgule sur la derniere ligne.

Re: IMPLODE sur array d'un array

par popy » 17 oct. 2011, 15:15

implode(", ", array_map('reset', $a));

IMPLODE sur array d'un array

par Zahnzao » 17 oct. 2011, 15:12

Bonjour,

j'ai un array $test comme ceci

array
0 =>
array
'ID' => string '16' (length=2)
'Name' => string 'Test Testa' (length=10)
1 =>
array
'ID' => string '17' (length=2)
'Name' => string 'Test' (length=4)

Je voudrai faire un implode sur la colonne Name avec le séparateur ", ". Donc obtenir ceci: "Test Testa, Test".

Que dois-je mettre en paramètre ?

implode(", ",??);

Merci.