2014-02-18 47 views
1

我想要做explode(" ",$q[2])[1]其中$q[2]是一个读取“问题1”的字符串,但我不断收到错误,指出逗号或分号是期望的,而不是正确的方括号。爆炸“[1]”。当字符串不是数组的位置时,我可以使用这种语法,所以有没有简单的方法来做到这一点,而不是做一些临时变量和爆炸?当使用数组值作为字符串时,php爆炸不起作用

+3

这是行不通的,如果你的PHP版本是<5.4 – cornelb

+0

升级或$ FOO =爆炸(””,$ Q [1 ]); $ foo的[1];考虑如果爆炸真的是你需要的.. –

+0

啊,谢谢。我刚搬到一个新的托管环境,忽略想到的PHP版本。 –

回答

3

在PHP 5.3或更低版本中,您无法为表达式建立索引。你必须把它分成两行:

x = explode(" ",$q[2]); 
y = x[1]; 
6

你可以尝试使用:

list($first, $second) = explode(" ",$q[2]); 

所以$second变量是从返回数组[1]元素。

$first // "question" 
$second // "1" 

也可以省略$first变量,所以:

list(, $second) = explode(" ",$q[2]); 
+2

古老的'list()':) – hek2mgl