数组键对字符串的引用?

时间:2012-03-13 21:54:21

标签: php arrays

我需要从数组中创建一个键名,引用另一个变量。

像这样:

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

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

但它不起作用:(

有什么解决方案吗?

5 个答案:

答案 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)