Php 解析CSV以比较3列中的字符串?
我想知道在PHP中是否可以将CSV文件的三列内容放入单独的数组中,这样我就可以比较第一列和第三列之间的值,并根据条件将匹配项放入中间的列中 数据如下所示: 因此,我希望将SKU列放入一个数组,将图像放入另一个数组,然后比较字符串以查找匹配项。如果找到匹配项,请将其放置在第2列中相应SKU的旁边。我理解Php 解析CSV以比较3列中的字符串?,php,csv,Php,Csv,我想知道在PHP中是否可以将CSV文件的三列内容放入单独的数组中,这样我就可以比较第一列和第三列之间的值,并根据条件将匹配项放入中间的列中 数据如下所示: 因此,我希望将SKU列放入一个数组,将图像放入另一个数组,然后比较字符串以查找匹配项。如果找到匹配项,请将其放置在第2列中相应SKU的旁边。我理解fgetcsv()只是一行一行地进行。VBA是否应该用于此类功能?到目前为止,我已经: <?php function imageMatch() { $row = 1; if
fgetcsv()
只是一行一行地进行。VBA是否应该用于此类功能?到目前为止,我已经:
<?php
function imageMatch() {
$row = 1;
if (($handle = fopen("sg.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
$columnsToProcess = [0, 1, 2];
for ($c=0; $c < $num; $c++) {
if(in_array($c, $columnsToProcess)) {
echo $data[$c] . "<br />\n";
}
}
print_r($data);
}
fclose($handle);
}
}
imageMatch();
<代码>您可以使用两个文件(Orthal.CSV和TEMP.CSV),所以当您逐行读取原始文件时,您正在创建第二个文件,中间列中有所需的数据。完成后,用新文件覆盖原始文件。