2010-02-17 6 views
0

Comment puis-je transformer ce tableau:filtre et convertir un tableau en chaîne en utilisant PHP

print_r ($ arr)

Array (
    [131] => stdClass Object 
     (
      [tid] => 131 
      [vid] => 9 
      [name] => apple 
      [description] => 
      [weight] => 0 
     ) 

    [112] => stdClass Object 
     (
      [tid] => 112 
      [vid] => 9 
      [name] => cool 
      [description] => 
      [weight] => 0 
     ) 

    [113] => stdClass Object 
     (
      [tid] => 113 
      [vid] => 9 
      [name] => wonderful 
      [description] => 
      [weight] => 0 
     ) 

) 

dans ce:

merveilleuse fraîche pomme

Effacez fondamentalement la variable "name" du tableau et implosez-le dans l'ordre. J'ai essayé implode, mais je ne sais pas comment faire référence aux variables "name".

+0

Jetez un oeil à array_map. –

+0

belle, je vérifie maintenant ... – tim

Répondre

0
$terms = array(); 
foreach($arr as $term) { $terms[] = $term->name; } 
print implode($terms, ', '); 
+0

J'ai eu cette erreur Erreur fatale: [] opérateur non pris en charge pour les chaînes.J'utilise drupal – tim

+0

On dirait qu'il existe une variable' $ terms' existante Changer '$ terms' à un différent nom de variable, ou faire 'termes $ = array();..'Avant ce code – ceejayoz

+0

le tableau() pense aide à passer l'erreur, mais j'obtenir un résultat vide Je pense que cette déclaration fait référence à arr- $> nom, quand il devrait faire référence à $ arr-> anynumber ['nom'] – tim

2
echo join(" ", array_map(create_function('$x', 'return $x->name;'), $arr)); 

est une façon de le faire

+0

pour une raison quelconque, je ne peux pas obtenir ce travail ... Je suis en train de le comprendre – tim

+0

cela ne fonctionne pas, parce que le « nom » est sous nombre. $ arr -> ## ["nom"]. Et ce nombre peut être n'importe quel nombre, comme $ arr-> 131 ["nom"], $ arr-> 113 ["nom"] ... vous ne pouvez pas le réfréner comme $ arr-> name ou $ arr ["nom "] – tim

+1

C'est le point entier de' array_map' - il transforme chaque terme en '$ x' pour un accès plus facile. Veuillez vérifier la documentation sur ces fonctions avant de les ignorer. – ceejayoz