假设我有一个由;
分隔的字符串 $something = "dog;cat;horse;fish";
我知道我可以轻松地将其爆炸并从爆炸数组中获取适当的值:
$explode = explode(";",$something);
$explode[1]
将是猫。
有没有办法可以在线进行此操作?我的意思是:
$favoritePet = explode(";",$something)[1];
$favoritePet
等于猫
显然上述情况是错误的,但我希望这能说明我想要达到的目标,同时爆发并获得价值。
答案 0 :(得分:10)
这称为数组解除引用,可以在PHP 5.4 +
中完成答案 1 :(得分:0)
这是阵列解除引用,我希望通过
$favoritePet = explode(";",$something)[1];
它将在PHP 5.4 +
中将'cat'返回到$ favoritePet变量在早期版本的PHP中,您可以这样做:
echo current(explode(";",$something)); // get [0]
echo next(explode(";",$something)); // get [1]
或者您可以编写自己的函数将其放在一行中,如下所示
function GetValueAt($arr, $key = 0)
{
return $arr[$key];
}
并将此功能称为
echo GetValueAt(explode(';', $something)); // get [0]
echo GetValueAt(explode(';', $something), 1); // get [1]
答案 2 :(得分:0)
以下是PHP 5.4更改日志的链接。看看第三行,它说:
添加了函数数组解除引用,例如FOO()[0]。
或者,你可以创建一个简单的函数,为你做同样的事情。
function r($array, $key){
return (isset($array[$key])) ? $array[$key] : false;
}
得到这样的结果:
$a = explode(...);
echo r($a, 1)