Ho una domanda che non riesco a trovare una risposta.riferimento php array passando alla funzione
Sto costruendo una grande matrice che contiene i valori esadecimali di un file (come $array[0]=B5
$array[1]=82
e così via fino $array[1230009]
)
Quando creo una funzione di manipolare alcune compensazioni in tale matrice e passare il $array
come riferimento (function parse(&$array) { ... }
) richiede WAY più a lungo di se passo la matrice normale (function parse($array) { ... }
) ..
Come è possibile?
PS: C'è un modo più veloce per non utilizzare l'array? Solo per usare $ string = "B5 82 00 1E ..etc", ma ho bisogno di tracciare l'Offset man mano che avanzo nella lettura di valori esadecimali poiché alcuni valori contengono lunghezze "
Ci vuole più tempo per passare la matrice, o ci vuole più tempo per svolgere la funzione sulla matrice che si passaggio? Inoltre, questo non è un metodo efficiente per la RAM che fa riferimento a ciascun byte di un file. Dovresti usare le stringhe invece che methinks. – crush
possibile duplicato di [In PHP (> = 5.0), sta passando per riferimento più veloce?] (Http://stackoverflow.com/questions/178328/in-php-5-0-is-passing-by-reference-faster) – PeeHaa
ci vogliono 30 secondi per eseguire la funzione sull'array (per riferimento) e 2 secondi per eseguire la funzione sull'array passando normalmente – pufos