2010-11-17 48 views
1

我環顧四周,我看到很多人問如何使用嵌套數組爆炸陣列。但是,這些人通常也希望包含嵌套數組。我不想,包括嵌套陣列...我想扔出去的嵌套數組...Imploding陣列...而IGNORING嵌套數組?

這是我的數組:

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

    [2] => five 
) 

如果我爆這個數組,以逗號分隔的,我想結果是:

one, two, five 

請注意,三個和四個不包括在內。由於它們是嵌套數組,我不需要它。我只想要立即值。我該如何完成這項工作?

+2

您可能需要爲該語言添加標籤。 – TeaDrivenDev 2010-11-17 10:48:54

+0

你只是在尋找算法,還是你想要代碼?如果你想要代碼,你需要讓我們知道這種語言。 – 2010-11-17 10:58:35

回答

1

你會需要遍歷在$標記的所有值,並篩選出那些是陣列

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

我發現上面是有點乏味,
這裏是改良版

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

輸出:

one,two,4