英文:
How to check specific value and replace in specific column of a csv file in php
问题
以下是翻译好的内容:
- 在 PHP 中检查 CSV 文件的特定列中的特定值并替换
- 在列 B 中检查 USA
- 将列 B 中的 USA 替换为新值 India
已尝试下面的代码但未成功:
$lines = file("csvfile.csv", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$lines = array_map("str_getcsv", $lines);
$input = ["row" => 1, "column" => 1];
$lines[$input["row"]][$input["column"]] = "USA";
$fp = fopen('csvfile.csv', 'w');
foreach ($lines as $line) {
if ($line[1] == 'USA') {
echo "存在";
$line[1] = 'India';
}
fputcsv($fp, $line);
}
fclose($fp);
我是新手,请帮助。
在 Barmar 先生的帮助下,我获得了结果,但数据应该存在于列 A。
英文:
How to check specific value and replace in specific column of a csv file in php
- USA in col B
- check USA in col B
- Replace with new value India in Col B
Have tried with below code but not successful.
$lines = file("csvfile.csv", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$lines = array_map("str_getcsv", $lines);
$input = ["row" => 1, "column" => 1];
$lines[$input["row"]][$input["column"]] = "USA";
$fp = fopen('csvfile.csv', 'w');
foreach ($lines as $line) {
if ($line[1] == 'USA') {
echo "exist";
$line[1] = 'India';
}
fputcsv($fp, $line);
}
fclose($fp);
I am new in php,please help
With the help of
Barmar Sir, I got the result.but data should have available in col A.
答案1
得分: 2
在foreach
循环中,在写入输出文件之前进行替换操作。
遍历行中的所有字段,如果匹配则替换。
foreach ($lines as $line) {
for ($i = 0; $i < count($line); $i++) {
if ($line[$i] == 'USA') {
$line[$i] = 'India';
}
}
fputcsv($fp, $line);
}
英文:
Do the replacement in the foreach
loop, before writing to the output file.
Loop through all the fields in the line, replacing it if it matches.
foreach ($lines as $line) {
for ($i = 0; $i < count($line); $i++) {
if ($line[$i] == 'USA') {
$line[$i] = 'India';
}
}
fputcsv($fp, $line);
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论