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,
)