0

したがって、おそらくこれを最良の方法で表現しているとは限りませんが、例として、次のような配列があると仮定します。

Array
(
   [0] => 1,24,5
   [1] => 4
   [2] => 88, 12, 19, 6
)

そして、私がやりたいのはこれを取得することです:

Array
(
   [0] => 1
   [1] => 24
   [2] => 5
   [3] => 4
   [4] => 88
   [5] => 12
   [6] => 19
   [7] => 6
)

最良の方法は何ですか?

ありがとう

4

3 に答える 3

1

次の解決策を使用できます。

$result = array();
foreach($inputArray as $value) {
    $result = array_merge($result, explode(',', $value));
}

デモ!


元の答え:

$arr = array('1,24,5', 4, '88, 12, 19, 6');
$result = array();

foreach ($arr as $value) {
    if(strpos($value, ',') !== FALSE) {
        $result = array_merge($result, explode(',', $value));
        $result = array_map('trim', $result); // trim whitespace
    }
    else {
        $result[] = trim($value);
    }
}

print_r($result);
于 2013-09-26T19:56:37.197 に答える
0
Array(
  '1,24,5',
  '4',
  '88,12,19,6'
);


$new_arr = explode(',',implode(',',array_values($old_arr)));


Array
(
  [0] => 1
  [1] => 24
  [2] => 5
  [3] => 4
  [4] => 88
  [5] => 12
  [6] => 19
  [7] => 6
)
于 2013-09-26T21:49:55.183 に答える