PHP - 有没有办法通过 string/filesystem 函数在没有 for 循环的情况下 运行 数组值?

PHP - Is there a way to run array values through string/filesystem functions without a for loop?

我还是有点菜鸟,如果这个问题有明显的答案还请见谅。基本上,我想知道是否有更好、更简短的方法来做到这一点:

$file_ext = array();
$cust_file = $_FILES["cust_file"]["name"];

for ($i = 0; $i <= 4; $i++) {
    $cust_img_type = strtolower(pathinfo($cust_file[$i],PATHINFO_EXTENSION));
    array_push($file_ext,$cust_img_type);
    }

我已经搜索了答案,据我所知,不能像使用单个变量那样只使用一个函数来转换整个数组。任何人都可以 confirm/deny 吗?我觉得只是将文件扩展名从 post 数据数组中提取出来需要很多代码。

谢谢!

只需将数组的每个元素映射到一个函数即可:

$file_ext = array_map(function($v) {
                          return strtolower(pathinfo($v, PATHINFO_EXTENSION));
                      }, $cust_file);

当您不需要函数参数时,它更简单:

$file_ext = array_map('strtolower', $cust_file);