重置多维数组的值从字符串递归到布尔值

时间:2015-12-08 14:24:00

标签: php arrays recursion multidimensional-array

我需要重置多维数组中的值。该数组存储在数据库中。这意味着布尔值和数字被存储为字符串(序列化函数PHP)。

当我从数据库加载数组时,这些值需要重置才能变回布尔值和数字。

我尝试为它编写一个递归函数,但有些东西似乎没有了:

 public function reset_values_recursive($haystack) {
    foreach($haystack as $key=>$value) {
        if(is_array($value)){
            $haystack[$key] = $this->reset_values_recursive($value);
        } else if($value === 'true') {
            $haystack[$key] = 1;
            return $haystack[$key];
        } else if($value === 'false') {
            $haystack[$key] = 0;
            return $haystack[$key];
        }
    }
    return false;
}

阵列的一部分:

beforeArray
(
[image] => Array
    (
        [image_upload] => http://placehold.it/150x100&text=afbeelding
    )

[foreground] => Array
    (
        [color] => 0
        [text_location] => false
        [column_title_toggle] => false
        [title] => Array
            (
                [column_title_centre_toggle] => true
                [column_title_pattern] => true
            )

    )

[background] => Array
    (
        [background_color] => 0
        [background_pattern] => none
        [background_pattern_transparency] => 0
        [background_overlay_toggle] => false
        [overlay] => Array
            (
                [background_overlay_color] => default_color
                [background_overlay_transparency] => 0
            )

        [background_image_toggle] => false
        [image] => Array
            (
                [background_parallax_toggle] => false
                [image_upload] => http://placehold.it/150x100&text=afbeelding
            )

    )
)

对不起,如果这是一个简单的问题,我很难理解递归函数atm。

0 个答案:

没有答案