php - 在 array_combine 中小写
问题描述
我有一个简单的解析器,它解析一个 csv 文件并返回一个由标题行中单元格名称索引的数组,这是我的代码:
$file = file(public_path() .'/screens/'. $file, FILE_SKIP_EMPTY_LINES);
$csv = array_map("str_getcsv", $file, array_fill(0, count($file), ';'));
$keys = array_shift($csv);
$response = (object)array();
foreach ($csv as $i => $row) {
// Combine headers with values
$csv[$i] = array_combine($keys, $row);
$wellName = $csv[$i]["Well"];
$response->{$wellName} = array_combine($keys, $row);
}
return $response;
我的问题是,在我的 csvfiles 中,有时标题在开头或单词中都有一个大写字母,但我不知道我应该在解析函数中在哪里做我的 strtolower,我希望只有标题是小写的.
解决方案
看起来您已经在使用 array_map,任何时候您想要转换结构中的值,您都应该查看 map 函数。
$keys = array_map('strtolower', array_shift($csv));
推荐阅读
- python - 运行 SUDO 命令时 Python 脚本抛出 TTY Sudo 错误
- flutter - Hive registerAdapter 不接受 id
- python - 在 Python 中使用数字递增列表标题名称
- php - functions.php 中的“file_get_contents”
- postgresql - .Net 核心和 Npgsql 查询错误 A 命令已在进行中
- node.js - 如何使用 Node.js 从 MongoDB 匹配字段并获取其 objectId?
- cordova - 使用 cordova-plugin-advanced-http 请求超时
- excel - 将具有特定格式的单元格从其他工作表中检索到 Excel 中的新工作表中
- docker - 如何在 Docker 中使用 Wine 运行我的 Win32 应用程序?
- ios - 如何在 UITableView 中替换自定义单元格样式?