Avatar billede lsskaarup Nybegynder
09. september 2010 - 15:39 Der er 6 kommentarer og
1 løsning

array_keys($_POST) sammen med reg.exp.

Er det muligt at kombinere array_keys($_POST) med reg. exp.?

Jeg har en bunke felter, hvor jeg kun skal fange dem der starter med "salgs_" i navnet.

Jeg tænkte derfor om det var muligt, at gør noget lignede array_keys($_POST['salgs_'.(regulært udtryk)]);
Avatar billede xicrow Nybegynder
09. september 2010 - 16:12 #1
Det behøver du såmænd ikke bruge regEx for:
// Loop igennem POST array ($k er nøglen, $v er værdien)
foreach ($_POST as $k => $v){
    // Tjek om nøglen starter med "slags_" (6 er længden af "salgs_")
    if (substr($k, 0, 6) == 'salgs_'){
        // Lav noget smart :)
    }
}


/xicrow
Avatar billede lsskaarup Nybegynder
09. september 2010 - 16:27 #2
Jaaa, jeg har så gjort det med preg_match, men var lidt ude efter en løsning, hvor jeg kun fik fat i de felter, som jeg skulle bruge, så jeg ikke efterfølgende skulle lave et tjek som nu
Avatar billede xicrow Nybegynder
09. september 2010 - 16:53 #3
Jaa... Så skal du nok kigge på array_map()-funktionen (http://php.net/array_map), og lave noget i stil med:

function get_keys($value){
    if (preg_match('#^salgs_#', $value)){
        return $value;
    }
};

$new_keys = array_map('get_keys', array_keys($_POST));



/xicrow
Avatar billede lsskaarup Nybegynder
09. september 2010 - 19:31 #4
Ja, den er faktisk ikke helt tosset. Den ligner meget min løsning, jeg har bare preg_match dirkete i koden som en if-sætning.

Jeg havde bare håbet, at der var en løsning der kunne gøre det i et hug. Om jeg bruger den ene eller anden løsning her, er vel kun et spørgsmål om performance og så eventuelt et religionsvalg.

Men angående performance, hvad ville så være bedst?
Avatar billede xicrow Nybegynder
09. september 2010 - 19:53 #5
Resultatet af de to er jo cirka det samme, alt efter hvordan du skal bruge det. Men performance-mæssigt er regEx altså en tung fætter at lege med.

/xicrow
Avatar billede lsskaarup Nybegynder
09. september 2010 - 22:06 #6
Så kunne det være jeg skulle ændre det til en substr i stedet for.
Avatar billede xicrow Nybegynder
10. september 2010 - 00:28 #7
Jeg ville i hvert fald anbefale det.

Og tak for point :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester