今天php面试的几道题目,请教一下大家思路

今天php面试的笔试题,没有大量数据处理的经验,一脸懵逼,请教大家这几题的思路

clipboard.png

问1:在500万数据中把 备注字段包含'测试'的记录筛选出来,保存在:output.txt文件中。
问2:格式化前10万条数据,后缀输出成ID.jpg:1,http://www.test.com/1.jpg ,测试数据1,保存在output2.txt中

阅读 2.6k
4 个回答

逐行读取+正则提取或替换

有什么问题呢?

  1. awk '/测试/' demo.txt >> output.txt
    grep '测试' demo.txt >> output.txt
  2. 这个不太会[尴尬]

题主可能要注意下,面试是偏重于代码解决还是其它方式。如果是代码解决,可以参考这边文章:https://segmentfault.com/a/11...,着重介绍了 PHP 对超大文件的读取。如果可以用其它方式,可以用 awk 编码解决。

给你第一题的答案:

$f  = fopen('body.txt', 'r');
$f2 = fopen('output.txt', 'w');
while (!feof($f)) {
    $line = fgets($f);
    if (mb_stripos($line, '测试') !== false) {
        fwrite($f2, $line . "\n");
    }
}

第二题可以在第一题的基础上,加上计数,到10W条截止,每读一条逗号切分,解析第二个URL即可。

如果这么简单的题目都答不出来,你面试结果堪忧啊。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题