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

时间:2013-04-25 22:12:06

标签: php arrays assign

我需要在一行中进行跟踪,我正在寻找制作类似代码的方法,而不是解决这个特定的例子。

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

e.g。

$file_name = pathinfo($_SERVER["SCRIPT_NAME"])["filename"];

2 个答案:

答案 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));