我需要重置多维数组中的值。该数组存储在数据库中。这意味着布尔值和数字被存储为字符串(序列化函数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。