PHP将二维数组转成一维数组,不知道哪里出错了

这是问题:

在 index.php 定义函数 multi2array,函数功能将二维数组转成一维数组,

    将二维数组传入该函数,并转成一维数组返回。

    这是输出结果:

 image.png

   

    (1)定义函数 multi2array,函数接受参数是二维数组该函数可以将二维数组

             转成一维数组通过return返回

    (2)在函数外部,调用该函数,参数是 二维数组 $data ,

             将返回值赋值给变量$new_arr

    (3)用print_r打印变量$new_arr

这是我的代码:

<?php
header("content-type:text/html;charset=utf-8");
$data = array(
  array(67, 2),
  array(86, 1),
  array(85, 6),
);

function multi2array($data) {  
    static $result_array = array();  
    foreach ($data as $key => $value) {  
        if (is_array($value)) {  
           multi2array($value);  
       }  
       else{
           $result_array[] = $value;
       }    
   }  
   return $result_array;  


$new_arr= multi2array($data);
print_r($new_arr);

?>

输出出来的结果是跟答案一样的,就是系统说:multi2array 函数返回结果不是一维数组或返回结果错误!

希望有大佬能帮我改改代码!谢谢!

 

 

 

你截图就是一维数组啊?不是符合题目说的了?我这里运行后结果也是

Array ( [0] => 67 [1] => 2 [2] => 86 [3] => 1 [4] => 85 [5] => 6 )

二维数组转一维没问题啊

他可能还存在键名 array_values(data)  下就好,你可以两个都转json 之后做对比肯定不一样。一个是大括号一个是中括号。