如果数组包含php中的值,则检入数组

时间:2017-08-17 08:51:39

标签: php

我有一个输入电话号码489998723(由用户填写)。 和表单数据库我得到以数组中的速率跟随前缀

4899981
4899
4899988
489998
4899987
48999

我将如何执行完全匹配。 用户输入489998723的示例与4899987匹配的示例相比。

提前致谢。

1 个答案:

答案 0 :(得分:0)

建议使用str_pos

$phone = 489998723;

$arr = [
    4899981,
    4899,
    4899988,
    489998,
    4899987,
    48999,
];


rsort($arr);

$result = false;
foreach ($arr as $value) {
    // First match will be string of max length because of sorting
    if (strpos(strval($phone), strval($value)) === 0) {
        $result = $value;
        break;
    }
}

if ($result) {
    print_r ('result: ' . $result . PHP_EOL);
} else {
    print_r ('not found' . PHP_EOL);
}

Sandbox code