我需要從一個數組中創建一個鍵名來引用一個不同的變量。數組對字符串的鍵引用?
像這樣:
$keys = array('name' => 'abc');
$arr[&$keys['name']] = array();
但它不工作:(
是有什麼解決辦法
我需要從一個數組中創建一個鍵名來引用一個不同的變量。數組對字符串的鍵引用?
像這樣:
$keys = array('name' => 'abc');
$arr[&$keys['name']] = array();
但它不工作:(
是有什麼解決辦法
離開&遠,並確保$ ARR之前設置爲一個陣列:
$arr = array();
$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) {
}
}
但是如果我更改$ keys ['name']] $ arr中的密鑰名稱不會更改..這就是爲什麼我希望它成爲第一個參考 – thelolcat 2012-03-13 21:57:59
您不會更改'$ keys [「name」 ]'。你還有'$ keys [「name」] ===「abc」;'。 – 2012-03-13 21:58:46
<?php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?>
php.net/array !!!有一個文本,因爲你提出一個問題,它說,你真的要搜索,因爲你需要在谷歌第一個ehtry,第一個php.net < ehtry - 第一個地方尋找4個PHP的提示
只要您願意,您無法使用引用更改數組元素的鍵。
您需要創建一個新的,並取消了以前:
$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)
什麼你究竟想達到什麼目的? – Ignas 2012-03-13 21:57:16
爲什麼參考? – Cfreak 2012-03-13 21:58:16
,因爲名稱鍵可能會更改,而我也希望第二個數組自動更改 – thelolcat 2012-03-13 21:58:47