例如:
echo explode('@',$var); //but only echoing element 1 or 2 of the array?
而不是:
$variable = explode('@',$var);
echo $variable[0];
谢谢。
在支持数组取消引用的 PHP 版本上,可以使用以下语法:
echo explode('@', $var)[0];
如果没有,您可以使用list()
:
list($foo) = explode('@', $var);
上面的语句将在变量 $foo
中分配松散数组的第一个值。
从 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]
在 PHP 5.4 之前,你可以这样做:
echo array_shift(explode('@', $var));
这将呼应由爆炸创建的数组的第一个元素。但它这样做时没有错误地检查爆炸的输出,这并不理想。
list
也可以这样使用:
list($first) = explode('@', $var);
list(,$second) = explode('@', $var);
list(,,$third) = explode('@', $var);
像这样使用reset
echo reset(explode('@', $var));