Funktioner i løkker
Hey guys.Jeg sidder og bævler med noget log og browser registrering.
Jeg er simpelthen gået kold. Har stirret mig blind på problemet. Jeg synes selv det burde være forholdsvis simpelt, men jeg kan simpelthen bare ikke få det til at virke!
Jeg har lavet mig denne funktion;
function browser_check($scout=null) {
$programs = array('msie', 'firefox', 'safari', 'webkit', 'opera', 'netscape', 'konqueror', 'gecko');
$scout = strtolower($scout ? $scout : $_SERVER['HTTP_USER_AGENT']);
$regex = '#(?<browser>' . join('|', $programs) .')[/ ]+(?<version>[0-9]+(?:\.[0-9]+)?)#';
if (!preg_match_all($regex, $scout, $matches)) return array();
$i = count($matches['browser'])-1;
return array($matches['browser'][$i], $matches['version'][$i]);
}
Den deler $_SERVER['HTTP_USER_AGENT'] op i en lidt mere brugbar information.
Dernæst har jeg en række if sætninger, som giver den endelige variabel en værdi, udfra hvad browser_check(); spytter ud.
Det virker ganske fint, hvis jeg smider det i en fil og checker min egen browser fx. Nu skal jeg bruge det i en log jeg er igang med fra en database med flere rækker, så det vil sige den skal køre igennem en ganske normal while løkke, og vurdere "situationen" for hver række.
Men kan ***** ikke få det til at funke!
Jeg henter min $_SERVER['HTTP_USER_AGENT'] ud fra databasen i while løkken. Den skal jeg bruge i funktionen. Men hvordan kan jeg få den derind? Jeg kan ikke smide min funktion i while løkken. Det giver fejl. En while løkke inde i funktionen, virker heller ikke. Og slet ikke at have det i en funktion, virker heller ikke for mig. Jeg kan sgu simpelthen ikke kringle den lige nu, så jeg håber lidt at I kan give mig et løsningsforslag. Det burde sgu ikke være helt umuligt det her!
Altså funktionen/scriptet kræver en værdi fra en while løkke, og skal samtidig eksekveres, for hver gang while løkken køres.
Hvad siger I?
På forhånd tak :-)
