PHP 重命名动态创建数组中的数组键

PHP rename array keys in dynamically created array

在我的 php 代码中,我有一个数组,它的每个键都以 "@a" 字符开头。我怎样才能删除那个符号?我永远不知道我会得到什么密钥,但我需要删除 "@a".

奇怪的请求 - 我很想知道您为什么要这样做?无论如何,这样的事情应该有效:

$newArray = array();
foreach($weirdArray as $key => $value)
{
    $newKey = str_replace('@a', '', $key);
    $newArray[$newKey] = $value;
}

郑重声明,您很有可能实际上不需要这样做 - 您应该让我们知道更多详细信息。

可能是使用数组函数和回调的更巧妙的方法,但这里有一个:

$array = array_combine(str_replace('@a', '', array_keys($array)), $array);