1

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

这是我的数组:

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

    [2] => five
)

如果我分解这个以逗号分隔的数组,我希望结果是:

one, two, five

注意不包括三和四。由于它们是嵌套数组,我不想要它。我只想要即时值。我将如何完成这项工作?

4

1 回答 1

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
于 2010-11-17T10:51:45.353 回答