Cita: ustedes ven un error...??
No uno, varios, para comenzar, primero verificas que el valor del indice sea un entero y sea igual a 0, si es igual "borras" el indice al arreglo $arr, pero NO EXISTE DICHA VARIABLE, lo mas cercano es $arreglo, ahora, si no es igual a 0 agregas el valor en otra arreglo, pero dicho arreglo no existe, e fin, puros errores, primero, si vas a generar un nuevo array lo mejor es que definas antes del for para que no genere errores, segundo, deberías comprobar si el valor es mayor a 0, ya que si le indicas si es igual puedes obtener resultados incoherentes, aparte, si es menor o igual a 0 no deberías hacer nada, solo si es mayor lo agregas al nuevo arreglo y este lo retornas en la función...