PHP-有没有办法通过字符串/文件系统函数运行数组值而无需for循环?

时间:2019-02-21 21:29:20

标签: php arrays function postdata

我还是有点绿色,所以如果对此问题有明确的答案,请原谅我。基本上,我想知道是否有更好,更简略的方法可以做到这一点:

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

我一直在寻找答案,据我所知,不能仅仅使用像单个变量那样的函数来转换整个数组。任何人都可以确认/拒绝吗?我觉得这只是很多代码,只是将文件扩展名提取出一系列的发布数据。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

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

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