たとえば、「google yahoo」という単語をデータベースで検索したいのですが、それを入力すると、google と yahoo を含む行が表示されるはずです。yahooの他にgoogleと同じ順番である必要はありません。行のどこにいても、簡単なロジックを教えてください。のようなものをクエリできますselect * from table where column like("%google%yahoo%")
。これを PHP で開発したいのですが、どうすれば %. スペースを見つけるたびに単語の間に % を挿入できるようにステートメントを使用する必要if
がありますか、それとも簡単にするための他のロジックはありますか?
2 に答える
0
文字列に別の文字列が含まれているかどうかを確認したい場合は、 を使用できますstristr
。これは次のようになります
// for fixed strings
if ( stristr($text, 'google') !== FALSE && stristr($text, 'yahoo') !== FALSE)
// both found
// for dynamic amount of strings
$searchfor = array('google','yahoo');
foreach ($searchfor as $needle) {
if (stristr($text, $needle) === FALSE) {
// $needle not found
} else {
// $needle found
}
}
これを行う別の可能性は、preg_match
. 最初に、正確に何をしたいのかを確認してから、使用する方法を決定する必要があります。
于 2013-10-28T00:56:28.690 に答える