[PHP-users 6730] Re: 英字を検索するさいのループ方法
Mashiki
php-users@php.gr.jp
Sun, 07 Apr 2002 16:25:55 +0900
Mashikiです。
>検索用のカラムの文字を小文字に統一させる事にします。
>それで問題は解決です。
元のデータ構造を変更しなくてもPostgreSQLなら以下の方法が使えます。
表xxxxから、key列が'ABC','ABc','AbC','Abc','aBC','aBc','abC','abc'
に相当するものを検索したいなら、
$sql= "
select *
from xxxx
where lower(key) = 'abc'
";
この方法はほかのデータベースでも使用可能ですが、PostgreSQLならば
lower(key)に関数インデックスの適用がが可能なので、データが巨大に
なったときもパフォーマンスが落ちません。
>専門用語も調べないと分からないし、2進数の世界も分かりません(笑)
がんばってくださいね。ついでに
> //べき乗式
> $count = 1;
> for ($i = 0; $i < sizeof($search_1); $i++) {
> $count *= 2;//大文字小文字あわせて2通り
> }
この部分
$count= 1 << sizeof($search_1);
で記述できます。2進数って言うだけですが...