-2

たとえば、「google yahoo」という単語をデータベースで検索したいのですが、それを入力すると、google と yahoo を含む行が表示されるはずです。yahooの他にgoogleと同じ順番である必要はありません。行のどこにいても、簡単なロジックを教えてください。のようなものをクエリできますselect * from table where column like("%google%yahoo%")。これを PHP で開発したいのですが、どうすれば %. スペースを見つけるたびに単語の間に % を挿入できるようにステートメントを使用する必要ifがありますか、それとも簡単にするための他のロジックはありますか?

4

2 に答える 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 に答える