2013-03-13 80 views
-1

確定的另一個關鍵,所以這是一個超級福利局問題...分配數組鍵的值相同的數組PHP

創建陣列時,有沒有什麼辦法,我可以一鍵的值賦給另一個關鍵在同一個數組中?

例如:

<?php 
$foobarr = array (
    0 => 'foo', 
    1 => $foobarr[0] . 'bar', 
); 
?> 

在這個例子中$foobarr[1]保持值 '欄'。

任何方式我可以這樣做,以便$foobarr[1] == 'foobar'

+5

問題是,爲什麼你需要這樣做? – 2013-03-13 13:53:30

+0

不是那樣的 - 在賦值給'$ foobarr'之前,'='右邊的語句被賦值,所以在數組結構中'$ foobarr'還不存在。 – Emissary 2013-03-13 13:53:49

+0

@MarkoD說了什麼。你試圖解決什麼問題?如果沒有這種特殊的技術手段,可能有辦法解決這個問題,而這在PHP中不起作用。 – 2013-03-13 13:54:13

回答

1

如果單獨指定的按鍵你可以這樣做:

$foobarr = array(); 
$foobarr[0] = 'foo'; 
$foobarr[1] = $foobarr[0] . 'bar'; 

等,但並不是所有的初始化內一次 - 陣列中還不存在。

2

不,你不能這樣做,因爲當你試圖用$foobarr[0]來引用它時,數組還沒有被構造。

可以爲您節省'foo'另一個變量,雖然,只是使用:

$foo = 'foo'; 
$foobarr = array (
    0 => $foo, 
    1 => $foo . 'bar', 
); 
+0

+這更可讀。 – dfsq 2013-03-13 13:55:15

0

當然,你需要雖然引用它外面。

$foobarr = array (
    0 => 'foo' 
); 
$foobarr[1] = $foobarr[0] . 'bar';