0

当面の現在のタスクは、PHPを使用してデータが存在するかどうかを確認しています

物事を短くするために、問題は次のとおりです。

整理されていない文字列で利用可能なサイズのいくつかを検索しようとしています。

サイズはSM/MM/LL/XL XS SML XL XXL 28 30 31 32 33 34 35 36 28 X 30 28 X 32

現在、ほとんどの問題は、空白を使用して一意の変数を区別することで解決されていますが、フレーズとして (number X number) になると、非常に困難になります。

「28」を検索すると、「28 X 30」が表示されたときに見つかったものとして検出されるか、空白が含まれる一意の番号「30」を検索しても、28 X「30」が検出されます

この問題に対処する方法はありますか?

4

1 に答える 1

5

nnn X nnnあなたができることは、最初に文字列を変換し、それらからスペースを削除することで、文字列を扱いやすくすることです:

 //BEFORE: SM/M M/L L/XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28 X 30 28 X 32
 //AFTER: SM/M M/L L/XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28X30 28X32
 $sizes=preg_replace('/(\d+) X (\d+)/', '$1X$2', $sizes);

スペースで文字列を分解できるようになりました

 $sizeArray=explode(' ', $sizes);

配列内のすべての異なるサイズで、in_array を使用して特定のサイズ コードを探すことができます。

 //we want to find this
 $searchFor='28 X 30';

 //our codes no longer have spaces...
 $searchFor=str_replace(' ', '', $searchFor);
 if (in_array($searchFor, $sizeArray)) {
      //great!
 }
于 2013-06-01T21:57:33.170 に答える