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