I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Tak skal du have. Den var smart. Har du tænkt på at tilføje den som note i manualen på php.net under array's??? Jeg kunne efter megen søgen ikke finde noget tilsvarende der!
For at ryde HELT op skal man vel skrive
function reset_keys($ar){ $new = array(); foreach($ar as $key=>$val) { $new[count($new)]=$val; unset($ar[$key]); } return $new; }
Ellers vil der vel afsættes 'spøgelseshukommelse' i cash'en og det vil vel også spare på processorens interne ram (kan ikke huske navnet på denne).
Sådan principielt...
Eller har jeg misforstået PHP? Man ville gøre det i c++.
Hehe, velbekomme. Jeg tror ikke det er i et problem i PHP overhovedet. Uden at vide det, så vil jeg da gætte på at alt hukommelsen frigives helt efter planen når phpkoden er færdigeksekveret. Men ellers er det da rigtigt, jeg tror bare det er begrænset hvor meget ram sådan et lille array tager mens koden bliver udført :-)
Som jeg skrev: principielt.... Men hvis det er en meget besøgt side er det vigtigt at minimere belastningen af processorens ram mest muligt for at undgå tidstab på genindlæsning af data mest muligt. Jeg mener det med at skrive til php. Hvad med at kalde funktionen:
Hvis du er meget fokuseret på optimering, så kunne du sætte et lille &-tegn ind foran $arr i funktionen, sådan her:
function reset_keys(&$ar)
Så ville du kun skulle skrive
reset_keys($arr);
og altså undgå
$arr = reset_keys($arr);
Om det vil gå hurtigere ved jeg ikke, men det bruger mindre kode :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.