Hola, en primer lugar por favor cuando escribas mensajes en el foro sigue las indicaciones que se dan aquí:
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0Es importante seguirlas para que las consultas puedan ser respondidas.
Sobre el error que estás obteniendo, parece que se debe a la llamada de función con esta sintaxis:
comprimir_arreglo(&$arrFacturasPausadasBorrar);
De acuerdo con la documentación oficial de php,
no existe ningún signo de referencia en una llamada a una función - sólo en la definición de la función. Las definiciones de funciones por sí solas son suficientes para pasar correctamente el argumento por referencia. A partir de PHP 5.3.0, se obtendrá una advertencia diciendo que "call-time pass-by-reference" (pasar por referencia en tiempo de llamada) está obsoleto cuando se use & en foo(&$a);. A partir de PHP 5.4.0, el paso por referencia en tiempo de llamada ha sido eliminado, por lo que su uso emitirá un error fatal. Si necesitas que el argumento sea pasado por referencia tienes que definir la función como function comprimir_arreglo(&$array){ ... }
donde el símbolo & indica que el argumento se pasará por referencia.
La llamada a la función será simplemente comprimir_arreglo($arrFacturasPausadasBorrar);
En caso de que quieras que el argumento se pase por valor debes definir la función como function comprimir_arreglo($array){ ... } y hacer la llamada como comprimir_arreglo($arrFacturasPausadasBorrar);