Eliminar sólo el primer valor de una ocurrencia en un array

Código PHP

PHP – Array – Eliminar primera ocurrencia

Función que elimina sólo la primera ocurrencia de un determinado valor en un array. Si el valor no existe, devuelve el mismo array. El array original no se modifica.

/**
 * Class HelperArray
 */
abstract class HelperArray
{
    /**
     * Elimina el primer valor de una ocurrencia del array.
     * Devuelve un array sin el valor eliminado.
     * Si algún valor esta vacío o no es un array, este se convierte 
     * a un array.
     *
     * @param array $arr
     * @param       $val
     *
     * @return array
     */
    public static function removeValueFirst($arr, $val)
    {
        $array_tmp = [];
        $encontrado = false;

        $arr = HelperConvert::toArray($arr);

        foreach ( $arr as $key => $value) {

            if ($value == $val && !$encontrado) {
                $encontrado = true;
            } else {
                $array_tmp[ $key ] = $value;
            }
        }
        return $array_tmp;
    }
}

Funciones relacionadas