0
Array
(
    [340] => Array(
            [0] => 341
        )
    [228] => Array(
            [0] => 234
            [1] => 239
        )
    [343] => Array (
            [0] => 344
            [1] => 345
        )
)

想要的输出

array(
[0] => 340
[1] => 341
[2] => 228
[3] => 234
[4] => 239
[5] => 343
[6] => 344
[7] => 345
)

我正在尝试使用递归函数来获取我尝试使用 php 代码但无法获得所需输出的输出

$simple_array = get_exam_preference_list_array($list);
function get_exam_preference_list_array($list, $list_array = array()){
            foreach($list as $key=>$pref_list){
                $list_array[]  = $key;  
                if(is_array($pref_list)){

                    get_exam_preference_list_array(array_flip($pref_list), $list_array);
                }
            }
            return $list_array;
}

请帮忙

4

2 回答 2

1

你忘记合并递归调用函数

Codesandbox 演示

function get_exam_preference_list_array($list, $list_array = array()){
            foreach($list as $key=>$pref_list){
                $list_array[]  = $key; 
                if(is_array($pref_list)){
                   $list_array = array_merge(get_exam_preference_list_array(array_flip($pref_list)),$list_array);
                }
            }
            return $list_array;
}
于 2020-03-28T04:51:33.163 回答
0
$input_array;           // This is your input array
$output_array = [];     // This is where your output will be stored.
foreach ($input_array as $k => $v)
{
array_push($output_array, $v);
}
print_r($output_array);
于 2020-03-30T05:14:29.757 回答