2015-01-06 25 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