我需要在一行中进行以下操作,我正在寻找在一行中制作类似代码的方法,而不是解决这个特定的示例。
$file_path = pathinfo($_SERVER["SCRIPT_NAME"]);
$file_name = $file_path["filename"];
例如
$file_name = pathinfo($_SERVER["SCRIPT_NAME"])["filename"];
数组取消引用只能从 php 5.5 开始。如果您有较早的版本,遗憾的是,这是不可能的。
但是,您可以尝试使用list
,它将所有数组元素分配pathinfo
给各个变量。如果您正确订购变量,$file_name
将拥有您需要的东西。
不幸的是,PHP 的语法不支持低于 PHP5.5 的版本。从 PHP5.5 开始,您可以编写:
echo pathinfo($path)['filename'];
如果您使用的是 < 5.5 的版本,我建议您编写一个自定义函数:
function array_get($key, $array) {
if(!array_kex_exists($key, $array)) {
throw new Exception('$array has no index: ' . $key);
}
return $array[$key];
}
然后使用它:
$filename = array_get('filename', pathinfo($path));