【发布时间】:2016-04-12 17:04:33
【问题描述】:
我有一个 csv 文件,看起来像这样
Stanza 07,41912087207
Stanza 08,41912087208
Stanza 09,41912087209
还有一个像这样的
0101*200,0789240959,centralino,101,2016-03-03 14:02:35,281,1.47,,4178,"La Perla" <41917913577>
0101*200,0789240959,centralino,101,2016-03-03 14:02:35,281,500.12,,4178,"La Perla" <41912087207>
0101*200,0917911974,centralino,101,2016-03-03 14:52:16,0,0,,41,"La Perla" <41917913577>
所以我想从第一个文件中获取 ID 值,检查它是否存在于第二个 csv 文件中,如果存在,则在上面的行中打印出第六个逗号之后的值,因此它将是 500.12,因为有一个 ID出现在两个 CSV 文件 41912087207 上。
这是我的代码
<?PHP
$search= "41912087207";
$linescdr = file('cdr.txt');
$linesstanze = file('stanze.txt');
while (list($key, $line1) = each($linesstanze)) {
$arrr = explode(",", $line1);
while (list($key, $line) = each($linescdr)) {
if(strpos($line, $arrr[1])){
$arr = explode(",", $line);
echo $arr[6];
echo "<br>";
}
}
}
?>
在这行代码中
if(strpos($line, $arrr[1])){
如果我把 $search 声明在文件的开头,它可以工作,但是如果我把 $arrr[1] 这将是来自 stanze.txt 的 ID 一个一个地放在 while 循环中,它不会似乎什么都做。
【问题讨论】:
-
第6个逗号.. PHP中有csv函数,使用吧。
-
我不会在这里问我是否可以用我找到的东西来解决它。
-
@outbeyond 他的问题是你没有遇到任何错误,以及你试图找到解决方案的任何尝试。发帖前请阅读help page。
-
@Arescet 我已经更新了我的帖子,这是我的尝试。
标签: php csv preg-match