Devolver la posición que ocupa un valor en un array

Código PHP

PHP – Array – Devolver posición valor

Función que devuelve la posición numérica que ocupa una valor en un array. Si no lo encuentra devuelve el valor -1. La comparación se realiza sin tener en cuenta las mayúsculas y/o minúsculas.

Se utiliza la función array_search para buscar.

/**
 * Class HelperArray
 */
abstract class HelperArray
{
    /**
     * Devuelve la posición que ocupa un valor 
     * de un array o -1 si no existe.
     * Si algún valor esta vacío o no es un array, 
     * este se convierte a un array.
     *
     * @param array $arr
     * @param mixed $value
     *
     * @return int
     */
    public static function indexOfValue( $arr, $value )
    {
        $arr = HelperConvert::toArray( $arr );
        if ( count( $arr ) == 0 ) {
            return -1;
        }
        // Como la función es sensitiva a mayúsculas y minúsculas
        // hacemos una copia del array poniendo las claves en minúsculas
        // la comparación se hace en minúsculas.
        $array_copy = array_map( function ( $val )
        {
            return HelperString::toLower( $val );
        }, array_values( $arr ) );

        $pos_value = array_search( $value, $array_copy );
        if ( false === $pos_value ) {
            return -1;
        }
        return $pos_value;
    }
}

Funciones relacionadas: