duangu9997 2016-05-24 13:51
浏览 48
已采纳

循环数组并提取所有有效的电子邮件地址

I allow a CSV to be uploaded and then I convert it into an array:

$csvAsArray = array_map('str_getcsv', file($results['full_path']));

The above code will produce something like this:

array(127) {
  [0]=>
  array(3) {
    [0]=>
    string(4) "Name"
    [1]=>
    string(5) "Email"
    [2]=>
    string(9) "Something"
  }
  [1]=>
  array(3) {
    [0]=>
    string(3) "dfg"
    [1]=>
    string(24) "something@something.com"
    [2]=>
    string(2) "34"
  }
  [2]=>
  array(3) {
    [0]=>
    string(3) "dfg"
    [1]=>
    string(23) "something@something.com"
    [2]=>
    string(2) "34"
  }

I can't guarantee the structure of the CSV which is why I can't look up a particular column. So I can loop the array e.g.

foreach($csvAsArray as $csvData) {
    var_dump($csvData);
}

How could I extract all the valid email addresses from this array?

  • 写回答

3条回答 默认 最新

  • doudong7256 2016-05-24 13:56
    关注

    Loop through each value and check if it is a valid email address:

    $emails = array();
    foreach($csvAsArray as $csvData) {
        foreach($csvData as $csvValue){
           // If it isnt a valid emailaddress, this filter_var returns false
           if(filter_var($csvValue, FILTER_VALIDATE_EMAIL)){
              $emails[] = $csvValue; 
           }
        }
    }
    
    var_dump($emails);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟