【发布时间】:2014-12-25 15:28:49
【问题描述】:
我有以下 PHP 数组:
$data = array(
'data' => array(
'first_key' => 'first_value',
'second_key' => 'second_value',
'third_key' => 'third_value',
'fourth_key' => array(
'mini_first' => 'mini_value'
)));
我需要对键和值应用过滤器。为简单起见,我需要转换为大写并添加另一个字符:
$data = array(
'DATA' => array(
'FIRST_KEYx' => 'FIRST_VALUEx',
'SECOND_KEYx' => 'SECOND_VALUEx',
'THIRD_KEYx' => 'THIRD_VALUEx',
'FOURTH_KEYx' => array(
'MINI_FIRSTx' => 'MINI_VALUEx'
)));
假设您不知道数组将有多少个数组级别。我该如何解决这个问题?
【问题讨论】:
-
foreach、array_walk、array_map。去尝试一下 -
我尝试了array_walk_recursive,因为没有限制,所以这很有意义。但是,array_walk_recursive 仅适用于叶节点,我需要更改所有键。还有一些内部键保存数组......我不会问我是否没有尝试:)
标签: php arrays recursion multidimensional-array