私は株式市場シミュレーションWebアプリを作成しているプロジェクトのために、大量array
の株式ティッカーシンボルを持っています。私のヘルパー関数の1つは、シンボルの配列をチェックすることによって、入力された株が有効かどうかを判断することです。これを行うために、私はを使用していarray_search()
ます。私が抱えている問題は、エッジケースをチェックすることです。他の要素は完全に正常に検出されますが、検索では0番目の要素が検出されていないようです。配列の一部は次のとおりです。
[0] => AAC
[1] => AACC
[2] => AACOU
[3] => AACOW
[4] => AAIT
[5] => AAME
[6] => AAON
[7] => AAPL
[8] => AAWW
[9] => AAXJ
[10] => ABAX
[11] => ABCB
[12] => ABCD
[13] => ABCO
[14] => ABFS
[15] => ABIO
[16] => ABMD
[17] => ABTL
[18] => ABVA
[19] => ACAD
[20] => ACAS
[21] => ACAT
[22] => ACCL
などなど。前に述べたように、0番目の要素だけでなく、他の要素でも問題なく機能します。FALSE
AACを検索すると戻ります。
これが私が使用しているPHPコードです。
<?php
if(isset($_GET[stock])) {
$ticker = $_GET[stock];
$ticker = trim($ticker);
print("<pre>Ticker is $ticker</pre>");
print("Validity: " . Stock::isValidStock($ticker));
print('<pre>');
$stock = Stock::getStockList();
print_r($stock);
print((bool)array_search('AAC', $stock));
print('</pre></br>');
}
?>
これが私が使用しているテストWebページです。
URLのクエリ文字列を編集して、ストックを変更できます。私が言ったように、 ?stock=AAC
falseを返しますが、のようなもの?stock=GOOG
はtrueです。助けてくれてありがとう!