为什么这在PHP中失败?

时间:2009-12-10 09:26:19

标签: php syntax

echo explode(' ','A B')[0]

什么是正确的版本?

3 个答案:

答案 0 :(得分:3)

list($var)=explode(' ','A B');

PHP不允许访问返回数组的元素。你也可以尝试

echo array_shift( explode(' ','A B') );
IIRC,它有效,但PHP抱怨通过引用传递非变量。

当然,您可以实施

function firstie($a) { return $a[0]; }
echo firstie(explode(' ','A B'));

答案 1 :(得分:2)

echo current(explode(' ', 'A B'));

$str = 'A B'; // assuming you're getting that string from somewhere
echo substr($str, 0, strpos($str, ' '));

我更喜欢substr方式,因为无论如何你都在处理字符串,而不是数组。

答案 2 :(得分:1)

试试这个,

$arr=explode(' ','A B');
echo($arr[0]);

在开始访问项目之前,您需要将值分配给数组。