偉大な頭脳の 1 つがここで私を助けてくれることを願っています。
プロバイダーから国際電話番号を受け取る状況があり、データベースを検索して、電話番号がかけている国、地域、および電話の種類を把握する必要があります。
たとえば、電話番号 +393234567891 を受け取るとします。電話番号が属する国をテーブルで検索する必要があります。'39' がイタリアであることはわかっています。これは国コードとしてデータベースに登録されていますが、その番号が固定電話か携帯電話かを判断する必要があります。そのためには、電話番号からさらに情報が必要なので、'39' は固定電話、'393' は携帯電話です。電話番号に「393」が含まれていることを確認する必要があるため、それが携帯電話であることがわかります。
私の質問は、これを評価する最良の方法は何ですか? 電話番号の各セグメントをループして、最初の 2 つの電話番号をデータベースと比較し、次に最初の 3 つ、次に最初の 4 つを 1 つの結果が得られるまで比較しますか? たとえば、この例を続けてイタリアの '39' を db と比較すると、'39' と '393' と '3939' などがあるため、一連の結果が返されます。では、電話番号のプレフィックスと完全に一致するように電話番号全体を使用する最善の方法は何でしょうか?
電話番号をループして、電話番号の数字をループに追加して、結果が 1 つだけ返されるようにすることを考えていましたが、これが最も効率的な方法であることを確認したいだけです。
推奨事項はありますか?ありがとう!