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