Avatar billede nemlig Professor
02. marts 2014 - 11:43 Der er 2 kommentarer og
1 løsning

Array med dage sammenholdt med udtræk fra MySQL

Hejsa.
Jeg har et array, $dage, der kan indeholde dagenumrene (date("w")) fra 0-6. Dermed op til 7 numre i alt. Arrayet ser fx sådan her ud:

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 0
)

Arrayet indeholder dagenumrene for en valgt dato-periode.

Jeg har også et udtræk fra DB, som viser, hvilke dage, der er valide, og det er de dage, der herunder har værdien "1"
$row['mandag'] = 1
$row['tirsdag'] = 0
$row['onsdag'] = 1
......
$row['soendag'] = 0

Jeg har brug for at sammenholde dagene i arrayet med de 7 dage fra DB.
Jeg tænker 7 x if-sætninger, og noget i den retning:

if($row['mandag'] == 0 AND "tallet 1 forekommer i arrayet") { Echo "fejl"}
if($row['tirsdag'] == 0 AND "tallet 2 forekommer i arrayet") { Echo "fejl"}
....
if($row['soendag'] == 0 AND "tallet 0 forekommer i arrayet") { Echo "fejl"}

Det jeg altså mangler, det er at tjekke forekomsten i arrayet.
Avatar billede moddi100 Seniormester
02. marts 2014 - 12:54 #1
Det kan nu nok gøres smartere end 7 if-sætninger, men det lader vi lige ligge for nu. Det du søger er funktionen in_array():


$dage = Array(
        0 => 4,
        1 => 5,
        2 => 6,
        3 => 0,
    );

if($row['mandag'] == 0 && in_array(1, $dage)){ echo "fejl"; }
if($row['tirsdag'] == 0 && in_array(2, $dage)){ echo "fejl"; }
...


Du kan læse mere om funktionen på php.net:
http://us2.php.net/manual/en/function.in-array.php
Avatar billede nemlig Professor
02. marts 2014 - 13:10 #2
Jeg takker. Det var løsningen.

Jeg laver en løkke med 7 kørsler på udtrækket fra SQL, i stedet for 7 if-sætninger.

Men tusinde tak for input.
Smidt venligst et svar.
Avatar billede moddi100 Seniormester
02. marts 2014 - 13:27 #3
Så lidt :)
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