我有一个数组,整个键都有空格。这使得在其他无法定位空格的程序中定位成为问题,并且在键中有空格是不好的做法。
我正在寻找可以删除键空间并用多维数组中的下划线替换的东西。很可能必须是递归函数?
在另一个问题中发现了类似的东西,但是关于替换值。
foreach ($all_regions as $key => $value){
$all_regions[$key] = strtolower(str_replace(' ', '_', $value));
}
几乎需要这个复制,但对于密钥。我遇到的问题是我可以考虑如何引用键本身,因为如果您尝试像上述方法一样推送,它只会重新创建另一个带有下划线的键。
数组的一个片段,这是尽可能深的。
Array
(
[0] => Array
(
[Line Identifier] => PID
[Set ID] => 1
[User ID] =>
[Requests] => Array
(
[0] => Array
(
[Line Identifier] => OBR
[Set ID] => 1
[Placer Order Number] => 021120091525
[Results] => Array
(
[0] => Array
(
[Line Identifier] => OBX
[Set ID] => 1
[1] => Array
(
[Line Identifier] => OBX
[Set ID] => 2
我已经尝试过以下方法,但是Key element cannot be a reference
private function fixArrayKeys($array){
if(is_array($array)){
foreach($array as &$key => $value){
if(!is_array($key))
$array[strtolower(str_replace(' ', '_', $key))] = $value;
else
fixArrayKeys($array);
}
} else {
return $array;
}
}