加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

PHP在CSV文件中查找字符串

发布时间:2021-07-06 05:19:53 所属栏目:大数据 来源: https://www.jb51.cc
导读:我有一个大型的用户名和电子邮件平面文件,格式如下: "username", "email""username", "email""username", "email" 等等… 我需要接收电子邮件并搜索用户名,但由于某种原因,它不会返回结果.如果我在对面搜索,它就有用. $string = "user_email@something.com"

我有一个大型的用户名和电子邮件平面文件,格式如下:

"username", "email"
"username", "email"
"username", "email"

等等…

我需要接收电子邮件并搜索用户名,但由于某种原因,它不会返回结果.如果我在对面搜索,它就有用.

$string = "user_email@something.com";
$filename = "user_email.txt";
        $h = fopen("$filename","r");
        $flag=0;

        while (!feof ($h)) {
            $buffer = fgets($h);
            $thisarray = split(",", $buffer);

            if ($string == str_replace('"','', $thisarray[1])) { 
                $i = 1;
                $i++;
                echo '<td bgcolor="#CCFFCC"><b style="color: maroon">' . str_replace('"','',$thisarray[0]). '</b></td>';

                }   

有任何想法吗?谢谢!

解决方法:

根据reko_t的建议:使用fgetcsv将csv的各行读入数组,直到找到第二个元素与搜索项匹配的行.然后第一个元素是用户名.就像是:

<?PHP
function find_user($filename, $email) {
    $f = fopen($filename, "r");
    $result = false;
    while ($row = fgetcsv($f)) {
        if ($row[1] == $email) {
            $result = $row[0];
            break;
        }
    }
    fclose($f);
    return $result;
}

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读