Ingeoding Array ...同时IGNORING嵌套数组?

时间:2010-11-17 10:43:17

标签: php arrays implode

我环顾四周,看到很多人都在问如何使用嵌套数组来破坏数组。但是,这些人通常也希望包含嵌套数组。我不想包含嵌套数组......我想抛出嵌套数组......

这是我的阵列:

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

    [2] => five
)

如果我内爆此数组,逗号分隔,我希望结果为:

one, two, five

注意不包括三个和四个。因为它们是嵌套数组,所以我不想要它。我只想要立即的价值观。我究竟怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

您需要迭代$ tag中的所有值并过滤掉那些数组 比如

$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