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);
我还是有点菜鸟,如果这个问题有明显的答案还请见谅。基本上,我想知道是否有更好、更简短的方法来做到这一点:
$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);