echo explode('@',$var); //but only echoing element 1 or 2 of the array?
相反的:
$variable = explode('@',$var);
echo $variable[0];
谢谢。
echo explode('@',$var); //but only echoing element 1 or 2 of the array?
相反的:
$variable = explode('@',$var);
echo $variable[0];
谢谢。
自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版本可以使用以下语法:
echo explode('@', $var)[0];
如果没有,你可以使用list()
:
list($foo) = explode('@', $var);
上面的语句将在变量$foo
分配爆炸数组的第一个值。
上到PHP 5.4,你可以这样做:
echo array_shift(explode('@', $var));
这将呼应爆炸创建数组的第一个元素。但它没有错误检查爆炸的输出,这是不理想的。
list
可以像这样使用,以及:
list($first) = explode('@', $var);
list(,$second) = explode('@', $var);
list(,,$third) = explode('@', $var);
的downvoter能解释一下自己? –
爆炸将字符串转换为数组。如何访问数组元素,而它是一个字符串? –
我确实试图解决这个问题,但无济于事。我有大约6个月的PHP使用经验,而且我没有看到如何解决这个问题。 – OBV