Php 将函数输出数组的一个键分配给变量?

Php 将函数输出数组的一个键分配给变量?,php,arrays,assign,Php,Arrays,Assign,我需要在一行中做以下内容,我正在寻找一种方法,使类似的代码在一行中,而不是解决这个特定的例子 $file_path = pathinfo($_SERVER["SCRIPT_NAME"]); $file_name = $file_path["filename"]; e、 g 只有在PHP5.5中才可能实现。遗憾的是,如果你有一个更早的版本,这将是不可能的 但是,您可以尝试使用list,它将pathinfo中的所有数组元素分配给各个变量。如果您对变量进行了正确排序,$file\u name将满足您

我需要在一行中做以下内容,我正在寻找一种方法,使类似的代码在一行中,而不是解决这个特定的例子

$file_path = pathinfo($_SERVER["SCRIPT_NAME"]);
$file_name = $file_path["filename"];
e、 g

只有在PHP5.5中才可能实现。遗憾的是,如果你有一个更早的版本,这将是不可能的


但是,您可以尝试使用
list
,它将
pathinfo
中的所有数组元素分配给各个变量。如果您对变量进行了正确排序,
$file\u name
将满足您的需要。

不幸的是,对于低于PHP5.5的版本,PHP的语法不支持此功能。从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));

感谢您提到从PHP5.5起这是可能的。我真的很欣赏这个功能!:)
$filename = array_get('filename', pathinfo($path));