sql >> Databasteknik >  >> RDS >> Mysql

hur räknar man de matchade sökorden med select i mysql codeigniter php?

På php-sidan finns det många alternativ för att räkna nyckelorden i din array. Om du behöver ytterligare funktionalitet som matchning utan fall eller ordgränser vad sägs om att använda regex .

En idé med preg_match_all

$pattern = '~(?:yes|test)~i';

foreach($arr AS $k => $v)
  $arr[$k]['match'] = preg_match_all($pattern, $v['title']." ".$v['msg']);

Mönstret är helt enkelt en alternation av de två sökorden som använder en icke-fångande grupp . Efter den avslutande mönsteravgränsaren ~ använde i flagga för fodrallös matchning. Regex101 är ett trevligt ställe att testa mönster.

Här är en demo på eval.in

Om inmatningen är generisk, använd preg_quote för att undvika vissa tecken från dess speciella regex-betydelse.




  1. PDO hämta en kolumn från tabellen till 1-dimensionell array

  2. Fånga räkning från en SQL-fråga

  3. Hur man beställer efter två kolumner i SQL?

  4. Kan inte ansluta till SQLServer-databasen i Java-applikationen