通过引用php更改数组的键

通过引用php更改数组的键,php,arrays,ascii,Php,Arrays,Ascii,我相信我们可以在这样的foreach循环中通过引用来更改数组的值 foreach($arr as$key=>&$value) 我想修改我案例中的密钥 $input = array(32 => 2, 99 => 4, 100 => 4); foreach ($input as &$key => $value) { $key = chr($key); // I want to change the ascii character to a letter }

我相信我们可以在这样的foreach循环中通过引用来更改数组的值
foreach($arr as$key=>&$value)

我想修改我案例中的密钥

$input = array(32 => 2, 99 => 4, 100 => 4);

foreach ($input as &$key => $value)
{
    $key = chr($key);  // I want to change the ascii character to a letter
}

我得到一个错误,我们不能通过引用传递密钥。有什么建议吗

如果可行,请尝试以下方法:

 foreach($input as $key => $val)
 {
   $key[] = [(string)$key => $val];
 }
 print_r($key);

如果可行,请尝试以下方法:

 foreach($input as $key => $val)
 {
   $key[] = [(string)$key => $val];
 }
 print_r($key);

是否要将键更改为字符串?@aldrin27是的,这是正确的,对应ascii值的字符串文字这根本不是一个好主意:您正试图完全更改当前迭代的数组的键。您希望
foreach
循环如何处理您试图修改它当前正在处理的数组结构的尝试?有些事情并不一定是:@HawasKaPujaari感谢链接,非常有用:)您想将键更改为字符串吗?@aldrin27是的,这是正确的,ascii值对应的字符串文字这根本不是一个好主意:您正试图准确地更改当前迭代的数组的键。您希望
foreach
循环如何处理您试图修改它当前正在处理的数组结构的尝试?有些事情并不一定是这样:@HawasKaPujaari感谢链接,非常有用:)