我需要在一行中进行跟踪,我正在寻找制作类似代码的方法,而不是解决这个特定的例子。
$file_path = pathinfo($_SERVER["SCRIPT_NAME"]);
$file_name = $file_path["filename"];
e.g。
$file_name = pathinfo($_SERVER["SCRIPT_NAME"])["filename"];
答案 0 :(得分:2)
Array dereferencing只能从php 5.5开始。如果您有早期版本,遗憾的是,这是不可能的。
但是,您可以尝试使用list
,它会将pathinfo
中的所有数组元素分配给各个变量。如果您正确订购变量,$file_name
将拥有您所需的内容。
答案 1 :(得分:0)
不幸的是,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));