ファジークエリの一次元アレイを提供する、唯一の内部処理をコードUTF-8 Unicodeをサポートする特殊な符号化形式が間違っている可能性があります

2019年9月30日午前14時36分15秒

 

 
 
IF(!function_exists(「arrayFuzzyQueryは」)){ 

    / * 
     *一次元アレイの値ファジィクエリを提供するために、唯一のUTF-8の内部処理をサポートする特定の符号化形式のコードユニコード間違っている可能性がある
     処理時間を発生することがあり、この方法もある:*注長い問題
     * / 

    機能 arrayFuzzyQuery($文字列配列 $配列 = []、$キー = ヌル){ 

        IF$文字列)){
             スロー 新しい新 \ 例外( 'クエリパラメータを空にすることはできません' ); 
        } 
        IF$配列)){
             スロー 新新\ 例外( 'クエリー配列が空である' ); 
        } 
        $リターン = []; 

        // 所望の類似比率100%100 
        $ expectedRatio = 50 ; 

        // また、類似比較を利用し、対比
        するforeach$配列を AS  $ K => $のV ){ 

            IF$キー)){
                 similar_text$文字列$ V$パーセント);
                 IF(mb_substr_count($文字列$のV)> 0 ||の$パーセント > =$ expectedRatio ){
                     array_push$戻り$のV )。
                } 
            } {
                 similar_text$文字列$のV [ $キー ]、$パーセント)。
                もし(mb_substr_count($文字列$ Vの [用$キー ])> 0 ||の$パーセント > = $ expectedRatio ){
                     array_push$戻り$のV )。
                }
            }
        } 
        を返す $リターンを
    } 

}
 
 

 

 

 注意:この比率の中国のコントラストはほぼ50%は、実際のビジネスニーズに基づいて調整する必要があること英語のための効果的なサポートsimilar_text、テストのいくつかのラウンドを通じて、効果は次のように使用するMySQLデータベースを追加する手間を取るために十分な基本的な、することができOR elasticsearch 

おすすめ

転載: www.cnblogs.com/zx-admin/p/11612647.html