配列に含まれる文字列を大文字・小文字の区別なしに検索してみます。
項目数が少なく、データベースを使うまでもないとき、この方法は便利です。
$arr = array('ActionScript', 'MySQL', 'Java', 'JavaScript', 'jQuery', 'HTML', 'Ruby', 'C', 'Shell', 'Python', 'Perl', 'PHP', 'Scala', 'Fortran');
$words=array();
$keyword = 'a';
foreach ($arr as $w) {
if (stripos($w, $keyword) !== FALSE) {
$words[] = $w;
}
}
var_dump($words);
1行目:文字列を配列形式で指定
4行目:検索キーワードを指定(FormからPostされた値など)
5行目〜9行目:配列をループ
6行目:ひとつずつ取り出した文字列に $keyword に指定した文字があるかチェック。!==FALSE は検索にマッチしたことを意味します。(検索結果がFalseでなかった場合)
検索に該当した場合 $words に該当した文字列を1つずつ入れて配列を作る。
出力結果
Array
array(5) {
[0]=>
string(12) "ActionScript"
[1]=>
string(4) "Java"
[2]=>
string(10) "JavaScript"
[3]=>
string(5) "Scala"
[4]=>
string(7) "Fortran"
}
大文字、小文字を区別しないで検索しているので「a」「A」のどちらかが含まれれば、結果に反映されます。