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)