我试图通过应对以下挑战来提高我的编程 (PHP) 技能。接下来的问题并不是关于代码问题,也不是我要求代码问题,而是关于应该应用的编程逻辑。
(9,'[email protected] /cdn-cgi/l/email-protection',0,0,1,1,0,1,1),
(10,'[email protected] /cdn-cgi/l/email-protection',1,0,0,1,0,0,1),
(11,'[email protected] /cdn-cgi/l/email-protection',0,0,0,1,0,0,1),
(12,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1),
(13,'[email protected] /cdn-cgi/l/email-protection',0,0,9,1,1,1,1),
(15,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1),
(16,'[email protected] /cdn-cgi/l/email-protection',0,0,0,1,0,0,1),
(17,'[email protected] /cdn-cgi/l/email-protection',1,0,9,1,1,1,1)
客观的
考虑上面的以下数据转储,我需要找到一种方法来仅提取以结尾的电子邮件地址.co.uk
并将其输入到数据库表中。在此示例中,只有 2 个以 .co.uk 结尾的电子邮件地址,即[email protected] /cdn-cgi/l/email-protection
and [email protected] /cdn-cgi/l/email-protection
问题
我很难弄清楚如何解决这个问题,因为:
- 没有(大多数)电子邮件地址的字符数不同
- 电子邮件地址之间存在不相关的数据,更具体地说是数字,应忽略
我的逻辑/伪代码
在行中找到一个公分母(我注意到第一列是每行加一的整数)用它来为变量赋值$min
and $max
(在这个例子中$min=9
and $max=17
)
使用上面分配的变量来循环行,每次迭代时循环增加一
内部循环忽略所有整数类型的字符
使用 pregmatch 查找以 .co.uk 结尾的电子邮件地址
如果找到添加到数组$couk_emails
else 循环到下一行
当循环结束时上传数组$couk_emails
到数据库表
这就是我想出的逻辑/Psuedo,但我觉得它有缺陷。我认为这是一个相当困难的挑战,所以我很想听听经验丰富的程序员如何解决此类问题
请注意,本文中的所有电子邮件地址都是虚构的/据我所知是虚构的