I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
prøv med udlukkelsesmetoden prøv først med if (maaned_idag != '12'){ print "Så langt kom jeg: 1"; if ($dag_idag < $_GET[dag]){ print "Så langt kom jeg: 2"; } }
hvis du kun kom til 1 så må det være fordi der er noget galt med 2 :)
prøv at skrive..
if (maaned_idag != '12'){ print "Så langt kom jeg: 1"; if ($dag_idag < $_GET[dag]){ print "Så langt kom jeg: 2"; } else { print "$dag_idag og $_GET[dag]"; } }
if (maaned_idag != '12'){ print "Så langt kom jeg: 1"; if ($dag_idag < $_GET[dag]){ print "Så langt kom jeg: 2<br>\n"; } else { print "$dag_idag og $_GET[dag]"; } }
nu burde du få:
Så langt kom jeg: 1 03 og 1
hvilket betyder at $dag_idag = 03 $_GET[dag] = 1
og da du spørger om $dag_idag er større end $_GET[dag] .. så er udtrykket falst da du bruger &&
Hvis du er i tvivl, så prøv at skrive echo $_GET[dag]; og du får INGENTING som svar. Fordi $_GET[dag] ikke refererer til noget. Det gør til gengæld $_GET['dag']
Du vil finde en måned, som ikke er 12 og en dag (hentet fra URL), der er mindre end $dag_idag, ikke sandt? Så hedder IF-sætningen altså: if ($maned_idag != '12' && $dag_idag < $_GET[dag])
Efter at være blevet irettesat af min mentor, kommer her en lille rettelse: PHP er IKKE ligeglad med om der står "12" eller 12 - den konverterer og i dette tilfælde konverterer den, så det falder i tråd med ønsket ;-) Tak for en god "debat"!
PHP har såkaldt "weak typing" i modsætning til eks. C/C++ og Java der er "strongly typed", hvilket betyder, at PHP vil forsøge at konvertere variabeltyper når forskellige typer benyttes i eksempelvis sammenligninger eller forkerte typer bruges som input til funktioner eller som led i beregninger. Det er dog ikke altid at PHP gætter rigtigt med om eksempelvis strengen skulle konverteres til kommatal, heltal eller måske dato og derfor er det altid en god ide at holde variablene i de rigtige typer - så slipper man også for overraskende problemer undervejs! Derfor er det ikke helt ligegyldigt, hvilke typer man bruger de forskellige steder, men det er en "fejl/mangel" man ofte ser i php scripting.
Derudover er det ca. lige så ligegyldigt om man skriver $_GET['varnavn'] eller $_GET[varnavn] - den første udgave er den mest korrekte, da den anden umiddelbart henviser til en konstant ved navn "varnavn" - hvis denne konstant ikke findes gætter PHP på at man har glemt anførselstegn og sørger selv for dem! Hvis derimod konstanten "varnavn" havde eksisteret, havde man lige pludselig fået en ganske sjov fejl i ovenstående! Derudover vil brugen af anden udgave også give en "Warning" afhængig af det fejlrapporteringsniveau man har indstillet php til!
Til sidst skal det nævnes, at && != AND og || != OR - De to operatorer er *næsten* identiske, men de har forskellig præcedens, hvilket betyder at man kan opleve sjove resultater, hvis man blander de to former!
I PHP angiver du kun i enkelte tilfælde type: Array & Objekter (og måske noget andet jeg har glemt). Dernæst er det op til dig selv at sørge for at dine typer bliver i det samme domæne. Du kan sagtens angive type, men den er ikke restrikiv, eks.: $foo = (boolean) 1; Du kan sagtens ændre på det ved at angive en ny værdi, eks.: $foo = "STRING";
well_r: Det er lidt dårligt, men jeg er ikke i stand til at konstruere et eksempel på "et sjovt resultat" med miks af &&, AND, || og OR, men jeg kan vise et eksempel på at brugen af OR og || ikke altid giver samme resultat:
(Det er egentlig bare det samme som, når man vælger at gange og dividere inden man adderer og subtraherer - så allerede i folkeskolen har man lært om operator præcedens - man er som regel bare ikke klar over det ;-))
supreme: C/C++ er meget mere stringent og jeg vil mene at du skal have et højere niveau inden du kan lave rigtige programmer i C, da det ikke er nær så tilgivende som eksempelvis PHP (eller ASP/VBA/VB), hvor de førstnævnte jo også kun er scriptingsprog!
Jeps. Er gået igang med C++ lige så stille for at "snuse" lidt til det. Skal på HTX til næste sommer og tror det er godt at have lidt grundviden bag sproget.. :)
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.