Tengo un gran array
de símbolos de cotización de acciones, ya que estoy para un proyecto que escribe una aplicación de simulación de mercado de valores. Una de mis funciones auxiliares es una para determinar si el stock ingresado es válido al verificar el arreglo para el símbolo. Para hacer esto, estoy usando array_search()
. El problema que tengo es uno al verificar casos de borde. Parece que la búsqueda no está recogiendo el elemento 0, a pesar de que capta otros elementos completamente bien. aquí es parte de la matriz:array_search() no encontrando el 0º elemento
[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
etc, etc. Como se ha dicho antes, que funciona bien para otros elementos, simplemente no la 0 ª. Devuelve FALSE
al buscar AAC.
Aquí está el código PHP que estoy usando.
<?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. Usted puede cambiar la acción mediante la edición de la cadena de consulta en la URL. Como dije, ?stock=AAC
devuelve falso, mientras que algo como ?stock=GOOG
es verdadero. ¡Gracias por cualquier ayuda!
Ahhh! Veo lo que hice. Olvidé por completo que devuelve el índice, a diferencia de un tipo de función isFound(). ¡Muchas gracias! – Saxophlutist