1

私は周りを見回しましたが、ネストされた配列で配列を内破する方法を尋ねる人がたくさんいます。ただし、これらの人々は通常、ネストされた配列も含めたいと考えています。ネストされた配列を含めたくない...ネストされた配列を捨てたい...

これは私の配列です:

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

    [2] => five
)

この配列をカンマ区切りで内破すると、結果は次のようになります。

one, two, five

3 と 4 が含まれていないことに注意してください。それらはネストされた配列であるため、私はそれを望んでいません。即時値のみが必要です。これをどのように正確に行うことができますか?

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 に答える