私は株価シミュレーションwebappを書くプロジェクトのため、株価記号の大きいarray
を持っています。私のヘルパー関数の1つは、シンボルの配列をチェックすることによって、入力された在庫が有効かどうかを判断するものです。これを行うには、array_search()
を使用しています。 私が持っている問題は、エッジケースをチェックすることです。他の要素を完全にうまく拾っても、検索では0番目の要素が取り出されていないようです。ここで は、アレイの一部である: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番目の1だけで、他の要素のため正常に動作し、前に述べました。 AACを検索するときはFALSE
を返します。
ここに私が使用している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>');
}
?>
Here is the test web page I'm using. あなたは、URLのクエリ文字列を編集して株式を変更することができます。 私が言ったように、?stock=AAC
は偽を返しますが、?stock=GOOG
のようなものは真です。 助けてくれてありがとう!
Ahhh!私は何をしたのか分かります。関数のisFound()ソートとは対照的に、インデックスを返すことを完全に忘れてしまいました。どうもありがとう! – Saxophlutist