我想输出一个从函数返回的数组键。目前它是这样的:
$x = explode('/', 'my/path/home');
echo $x[1];
但是如何在没有变量赋值的情况下只输出一行?
我正在尝试这个,但它不起作用:
echo explode('/', 'my/path/home')[1];
没试过,但这可能对你有帮助:
echo array_slice(explode('/', 'my/path/home'), 1, 1);
此外,如果字符串中没有斜杠,此代码会爆炸。
如果您必须在一行中执行此操作,IMO 最好使用list
:
list(, $x) = explode('/', $path);
这可以说比长篇大论更好
$x = implode('', array_slice(explode('/', $path), 1, 1));
很容易忘记你一开始应该做什么。
如果你不确定是否会有第二个元素,你可以防止出现问题
list(, $x) = array_pad(explode('/', $path), 2, null);
但是,对于真正的代码,我真的不推荐上述任何内容。必要时使用两班轮;它仍然比任何这些解决方案都更容易阅读。
如果您真的想要一个衬里,无论原因和您的 PHP 版本 < 5.4,您都可以为此创建一个函数:
function getPath($fullPath) {
$x = explode('/', $fullPath);
return $x[1];
}
//now the one-liner
echo getPath('my/path/home');