我需要从数组中创建一个键名,引用另一个变量。
像这样:
$keys = array('name' => 'abc');
$arr[&$keys['name']] = array();
但它不起作用:(
有什么解决方案吗?
答案 0 :(得分:4)
关联(或数字)索引不能是引用。
只是做:
$arr[$keys['name']] = array();
答案 1 :(得分:1)
取消参考:
$keys=array("name"=>"abc");
$arr=array();
$arr[$keys["name"]]=array();
var_dump($arr);
输出结果为:
array(1) {
["abc"]=>
array(0) {
}
}
答案 2 :(得分:1)
离开&离开并确保$ arr在之前设置为数组:
$arr = array();
$arr[$keys['name']] = array();
答案 3 :(得分:1)
<?php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?>
php.net/array !!!有一个文字,因为你问一个问题,它说你真的要搜索你的问题,google中的第一个ehtry,php.net上的第一个ehtry&lt; - 第一个看到4个php cuestions的地方
答案 4 :(得分:1)
您无法根据需要使用引用更改数组元素的键。
您需要创建一个新的,并取消设置上一个:
$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)