アイテム番号 (1 行に 1 つ) を含むテキスト ファイルがあります。アイテムがバーコード スキャナーでスキャンされると、このテキスト ファイルに配置されます (配列に格納されている場合は、配列に格納されます...アイテム番号のみ、他には何もありません)。
何が起こっているかというと、2 つの項目番号がある場合:
C0DB-9700-W C0DB-9700-WP
最初にアイテム C0DB-9700-W をスキャンすると、2 番目のアイテムを問題なくスキャンできますが、最初に C0DB-9700-WP をスキャンすると、C0DB-9700-W は既にスキャン済みと見なされます。すでにスキャンしたアイテムのプレフィックス。
strpos は最初の出現のみをチェックすることを知っています。私は次のコードを使用していました:
if (strpos($file_array, $submitted ) !==FALSE) {
私は使用に切り替えました:
if (preg_match('/'.$submitted.'/', $file_array)) {
私は preg_match を使用することで問題を解決できると思っていましたが、明らかにそうではありませんでした。PHPに、配列内のアイテム(ファイルから取得している)に対して指定したEXACT文字列をチェックして、既にスキャンされているかどうかを確認してもらいたいだけです。これは私の頭ではそれほど難しいことではありませんが、明らかに何かが欠けています。PHP が文字列全体を検索し、十分に良いもの (または少なくとも十分と思われるもの) を見つけたときにあきらめないようにするにはどうすればよいでしょうか?
ありがとう!