2010-11-17 7 views
1

J'ai regardé autour et je vois beaucoup de gens demander comment imploser des tableaux avec des tableaux imbriqués. Toutefois, ces personnes souhaitent généralement inclure également le tableau imbriqué. Je ne veux pas inclure le tableau imbriqué ... Je veux jeter le tableau imbriqué ...Imploding Array ... tout en IGNORANT les tableaux imbriqués?

Ceci est mon tableau:

[tag] => Array 
(
    [0] => one 
    [1] => two 
    [0_attr] => Array 
     (
      [category] => three 
      [lock] => four 
     ) 

    [2] => five 
) 

Si j'imploser ce tableau, séparés par des virgules, je veux le résultat doit être:

one, two, five 

Notez que trois et quatre ne sont PAS inclus. Comme ils sont un tableau imbriqué, je ne le veux pas. Je ne veux que des valeurs immédiates. Comment pourrais-je faire cela?

+2

Vous souhaiterez peut-être ajouter un tag pour la langue. – TeaDrivenDev

+0

cherchez-vous un algorithme, ou voulez-vous du code? Si vous voulez du code, vous devez nous indiquer la langue. –

Répondre

1

Vous devrez parcourir toutes les valeurs dans la balise $ et filtrer ceux est un tableau
tels que

$tags = array(); 
foreach ($tag as $index=>$value) 
{ 
    if (!is_array($value)) 
    { 
    $tags[$index] = $value; 
    } 
} 
implode(',', $tags); 

J'ai trouvé ce qui précède est un peu fastidieux,
est ici la version améliorée

$arr = array(0 => "one", 1 => "two", 2 => array(1,2,3), 3=>4, 4=>new stdClass); 
echo implode(",", array_filter($arr, "is_scalar")); 

sortie:

one,two,4 
Questions connexes