la seconda funzione è una funzione anonima che accede alla "variabile globale" $arr_sel grazie alla clausola use
usando usort, il costo computazionale è legato strettamente all'implementazione dell'algoritmo di ordinamento usato dal metodo, che immagino sia efficiente (non mi pare che nel manuale ci sia scritto quale usi). La tua versione aumenta il costo probabilmente visto che ti leghi inesorabilmente all'iterazione dell'array, aumenti l'uso della memoria creando gli array d'appoggio, ricorri ad array_merge (che non so come sia implementato) che sicuramente aggiunge altro costo computazionale al tutto.
Detto questo, le differenze di "costi" sono minime (su piccoli insiemi), ma vuoi mettere che è molto più da coatto usare il metodo che t'ho proposto io?![]()
![]()
![]()
![]()
![]()
![]()
![]()