Php 对字符串的数组键引用?

Php 对字符串的数组键引用?,php,arrays,Php,Arrays,我需要将数组中的键名作为对不同变量的引用 像这样: $keys = array('name' => 'abc'); $arr[&$keys['name']] = array(); 但它不起作用:( 有什么解决办法吗?关联(或数字)索引不能作为引用。 只要做: $arr[$keys['name']] = array(); 删除参考: $keys=array("name"=>"abc"); $arr=array(); $arr[$keys["name"]]=array(

我需要将数组中的键名作为对不同变量的引用

像这样:

$keys = array('name' => 'abc');

$arr[&$keys['name']] = array();
但它不起作用:(

有什么解决办法吗?

关联(或数字)索引不能作为引用。

只要做:

$arr[$keys['name']] = array();

删除参考:

$keys=array("name"=>"abc");

$arr=array();

$arr[$keys["name"]]=array();

var_dump($arr);
输出为:

array(1) {
  ["abc"]=>
  array(0) {
  }
}

离开(&A),并确保在以下操作之前将$arr设置为数组:

$arr = array();
$arr[$keys['name']] = array();


php.net/array!!!有一个文本,在你提问之前,它说你应该在提问之前真正搜索,谷歌的第一次ehtry,php.net的第一次ehtry你不能随意使用引用更改数组元素的键

您需要创建一个新的,并取消设置上一个:

$key = 'abc';
$array[$key] = 'value';

// to change the key:
$new_key = 'def';
$array[$new_key] = $array[$key];
unset($array[$key]);
您需要下面的代码,但在PHP中不存在类似的代码:

$key = 'abc';
$array[&$key] = 'value'; // this is not legal in PHP
$key = 'def'; // (this was supposed to change the key)

你到底想要达到什么?因为名字键可能会改变,我希望第二个数组自动改变too关联索引不能是引用。你必须重新思考你的程序设计。考虑嵌套数组,比如<代码> $key =数组(‘name’=>数组(‘ABC’=> ARARYY()))虽然它不是你的问题的直接解决方案,但你可以考虑它可能会提供一些线索。因为对象是通过引用隐式传递的,所以它可以让你在正确的方向上移动。但是如果我改变了$KEY(名称)]$arr中的键名不会更改..这就是为什么我首先希望它成为一个引用您没有更改
$keys[“name”]
。您仍然有
$keys[“name”]===“abc”
$key = 'abc';
$array[&$key] = 'value'; // this is not legal in PHP
$key = 'def'; // (this was supposed to change the key)