2015-01-06 60 views
2

PHP中可能引用創建數組時的數組索引嗎?引用創建時的數組索引(PHP)

例如,我需要創建一個只能使用一次的列表,在這種情況下將單詞映射到索引。我知道這可以在Perl中完成,並且我認爲是Javascript,但無法在PHP中使用它。

$fruit = 2; 
$fruitName = (array("Apple", "Pear", "Banana", "Kiwi"))[$fruit]; 

echo $fruitName; 

這應該輸出香蕉,這是可能的,或者我必須先創建陣列?

我意識到,我只是懶惰試圖快捷方式,而我也意識到這個帖子是7號線所以可能在它採取詢問的時候已經做過7次笑

+0

剛刪除'()'應該是'$ fruitName = array(「Apple」,「Pear」,「Banana」,「Kiwi」)[$ fruit];' – RxV

+0

RxV似乎是我的PHP版本問題。我想我在Perl中做了這樣的事情,你會做@(list)[index],就這樣試了。 – Dabrowski

回答

3

你只必須刪除(),然後它應該工作(PHP> 5.4,請參閱:http://3v4l.org/YpThG

$fruit = 2; 
$fruitName = array("Apple", "Pear", "Banana", "Kiwi")[$fruit]; 

echo $fruitName; 

輸出:

Banana 

也爲更多的Informa公司關於數組解除引用請參閱:http://php.net/manual/en/language.types.array.php

+0

啊謝謝!我正在運行5.3,所以這就是爲什麼。目前的穩定性是5.6,你知道這是否完全兼容?不想爲了1班輪而打破我的應用程序。 – Dabrowski

+0

@Dabrowski在5.3它不起作用,你將不得不首先將它分配給一個變量。如果你有5.6,那麼這是沒有問題的! – Rizier123

+0

是的,我明白了,我可以升級到5.6沒有問題只是想檢查它是否完全向後兼容,但我總是可以將其切換回來。再次感謝。 – Dabrowski