0

我想出了这段代码:

function multiArrayFlip($array)
{
    $arrayCount = count($array);
    if ($arrayCount != count($array, COUNT_RECURSIVE)) 
    {
        foreach($array as $key => $value)
        {
            if (is_array($value))
            {
                $array[$key] = multiArrayFlip($value);
            }
        }
    }
    else
    {
      array_flip($array);
    }   

    return $array;
}

但它不起作用。它返回未更改的数组。

这是数组数据示例:

    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [zip] => 02135
                        [hispanic_percent] => 7.4
                        [white_percent] => 73.1
                        [black_percent] => 4.2
                        [native_american_percent] => 0
                    )

            )

        [1] => Array
            (
                [0] => Array
                    (
                        [zip] => 02135
                        [school_number] => 1
                        [school_name] => ANOTHER COURSE TO COLLEGE
                        [school_address] => 20 WARREN STREET BRIGHTON MA 02135
                        [contact_number] => 617-635-8865
                        [start_grade] => 9TH GRADE
                        [reduced_lunch_students_count] => 8
                        [reduced_lunch_students_percent] => 120
                        [free_or_reduced_lunch_students_count] => 53
                        [free_or_reduced_lunch_students_percent] => 0
                    )
)
)
4

2 回答 2

1

您必须将 array_flip 函数的返回值重新分配给 $array 变量才能工作。

于 2013-04-02T18:37:34.137 回答
1

您需要修改您的功能以使其正常工作。之后重新分配值array_flip

function multiArrayFlip($array)
{
    $arrayCount = count($array);

    if ($arrayCount != count($array, COUNT_RECURSIVE)) 
    {
        foreach($array as $key => $value)
        {
            if (is_array($value))
            {  
                $array[$key] = multiArrayFlip($value);
            }
        }
    }
    else
    {
      $array = array_flip($array);
    }   

    return $array;
}

希望这可以帮助 :)

于 2013-04-02T18:40:59.680 回答