php – 如何通过包含数千个数字的文件搜索确切的数字?

如果我们说我们有一个包含订单号或引用的文本文件(仅每1行1个数字),那么查找/验证文件中这些数字的输入(例如,在表单中输入的数字)的最佳方法是什么?

有一个简单的想法吗?假设我们有数千个数字可供搜索.

非常感谢你.

最佳答案 如果内存不是问题(
Demo):

if (in_array($number, file('numbers.txt', FILE_IGNORE_NEW_LINES))) {
    // number exists - do something
}

由于file返回一个数组,其中每一行是数组中的一个元素,您也可以使用array_search查找找到它的行,或者使用array_keys查找找到它的所有行.

如果内存是个问题(Demo):

foreach(new SplFileObject('numbers.txt') as $line) {
    if ($number == $line) {
        // number exists - do something
        break;
    }
}

当有疑问使用时,基准.

标记CW因为已经有几个问题询问如何read a file line by lineefficiently.

点赞