如何在PHP中检查并替换CSV文件指定列的特定值
修正后的PHP代码(针对A列替换)
原来的代码是针对B列(数组索引1)处理的,现在要改成A列,只需要把判断和赋值的$line[1]改为$line[0]即可,同时可以移除测试用的手动赋值代码。
修正后的完整代码:
$lines = file("csvfile.csv", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $lines = array_map("str_getcsv", $lines); $fp = fopen('csvfile.csv', 'w'); foreach ($lines as $line) { // 检查A列(数组索引0)是否为"USA" if ($line[0] == 'USA') { echo "exist"; $line[0] = 'India'; } fputcsv($fp, $line); } fclose($fp);
关键修改点:
- 将判断和替换的目标列从
$line[1](B列)改为$line[0](A列),因为PHP数组是0起始索引,A列对应索引0,B列对应索引1。 - 移除了代码中
$lines[$input["row"]][$input["column"]] = "USA";这一行,这是测试用的硬编码值,实际处理真实CSV时无需保留。
内容的提问来源于stack exchange,提问作者Mayank Sudden
相关产品推荐
相关产品推荐

