例如:
echo explode('@',$var); //but only echoing element 1 or 2 of the array?
而不是:
$variable = explode('@',$var);
echo $variable[0];
谢谢。
答案 0 :(得分:7)
在支持数组解除引用的PHP版本上,您可以使用以下语法:
echo explode('@', $var)[0];
如果没有,您可以使用list()
:
list($foo) = explode('@', $var);
上述语句将在变量$foo
中分配爆炸数组的第一个值。
答案 1 :(得分:6)
从PHP 5.4开始,你可以写:
echo explode('@', $var)[0];
在早期版本的PHP中,您只能通过技巧实现行为:
echo current(explode('@', $var)); // get [0]
echo next(explode('@', $var)); // get [1]
如果没有临时变量,则无法在任意位置重新获取元素。
这是一个简单的函数,如果你不想每次都使用变量,它可以整理你的代码:
function GetAt($arr, $key = 0)
{
return $arr[$key];
}
请致电:
echo GetAt(explode('@', $var)); // get [0]
echo GetAt(explode('@', $var), 1); // get [1]
答案 2 :(得分:1)
PHP 5.4之前你可以这样做:
echo array_shift(explode('@', $var));
这将回应由explode创建的数组的第一个元素。但是这样做没有错误检查爆炸的输出,这是不理想的。
答案 3 :(得分:1)
list
也可以这样使用:
list($first) = explode('@', $var);
list(,$second) = explode('@', $var);
list(,,$third) = explode('@', $var);
答案 4 :(得分:0)
只需像这样使用reset
echo reset(explode('@', $var));