我想将pathinfo函数的值赋给变量,如:
list($dirname, $basename, $extension, $filename) = pathinfo($path_image);
echo $dirname.$basename.$extension.$filename;
但是没有输出。
但如果我只运行:
print_r(pathinfo($path_image));
我得到这样的输出:
Array ( [dirname] => http://domain.com/images [basename] => image123.jpg [extension] => jpg [filename] => image123)
答案 0 :(得分:2)
list()
不是一个函数,它是一种语言结构。来自php.net:
这不是一个真正的函数,而是一个语言构造
list()仅适用于数值数组并假设数字 指数从0开始。
要解决此问题,您可以尝试按array_values()
省略结果数组键,如 @anupam :
<?php
$values = array_values(pathinfo($path_image));
list($dirname, $basename, $extension, $filename) = $values;
?>
答案 1 :(得分:1)
pathinfo()返回一个关联数组。因此,您的代码应该如下工作:
list($dirname, $basename, $extension, $filename) = array_values(pathinfo($path_image));
答案 2 :(得分:1)
<强>工作:强>
list($dirname, $basename, $extension, $filename) = array_values(pathinfo($wallpaper_image));
echo $dirname.$basename.$extension.$filename;