PHPの多次元配列を単次元配列へ変換するクラス | Web Session

Web Session

Webマーケティング × クリエイティブ

PHPで取得した多次元の配列を単次元の配列へ変換するクラスです。


関数へ代入した配列の中に値が入っているかを確認し、

配列と判定された場合、配列の中身を一つずつ取り出します。


さらに、配列から取り出した値が配列だった場合、

もう一度、ArrayFlatten($array)に値を投げます。


配列でなかった場合、$result配列に値を代入し、単次元化していきます。


class ArrayFlatten {
function ArrayFlatten($array) {
$result = array();
if(!empty($array)) {
foreach($array as $val){
if(is_array($val)){
$result = array_merge($result, $this->ArrayFlatten($val));
}else{
$result[] = $val;
}
}
}
return $result;
}
}

使用例


$array = array(
array(
"first" => "a",
"second" => "b",
"third" => "c",
),
array(
"forth" => "d",
array(
"fifth" => "e"
)
)
);

$single_array = new ArrayFlatten($array);

実行結果


Array (
[0] => a,
[1] => b,
[2] => c,
[3] => d,
[4] => e,
)