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.
Den eneste der er virkelig forkert er: 'Her kommer en $var' medmindre altså, som ole er inde på, du ønsker at få skrevet bogstaverne '$'. 'v', 'a', 'r'.
PHP prøver at tækkes noget mær alle ved at have en hulens masse 'features'. så mange at det nogen gange er mere forvirrende end nyttigt. En overgang kunne man sågar skrive if sætninger i noget i retning af basic suntax: if (betingelse): sætninger else sætninger endif
hindu_skp >> 'Korrekt' syntaks er ikke altid helt kongruent med 'god kodeskik'. Personligt prøver jeg som oftest at tørre mig, før jeg ski... :)
Jakob viser ét problem med enkelte gåseøjne ... et andet kunne være: $bla = 'En linie\n'; $bla .= 'En ny linie'; print $bla;
som returnerer: En linie\nEn ny linie ...hvilket nok ikke var koderens mening. Med dobbelte gåseøjne havde han fået returneret teksten på 2 linier.
Jeg prøver som sagt altid at sikre mig - og bruger derfor altid dobbelte gåseøjne, medmindre jeg er _tvunget_ til at bruge enkelte. Så laver jeg aldrig fejl (ehhhh ... på dét område, i det mindste - høhø).
Af samme grund sætter jeg _altid_ gåseøjne om attributter i HTML - selvom de ikke altid _skal_ være der. Så glemmer jeg dem aldrig, når de virkelig _skal_ være der ;o) /mvh
I mange tilfælde kan du såmænd også skrive $var[værdi] - uden gåseøjne. Lad være ...!!! Gør det ikke ...!!! Glem det ...!!!
Det er en fejl, som PHP godt nok prøver at rette op på ved at forsøge at gætte, hvad du mente - men i værste tilfælde kan du introducere fejl og/eller sikkerhedshuller.
Morale: Skriv _altid_ gåseøjne i array-kald ...! ;o) /mvh
returnerer desværre også 12323 - hvor en fejl havde været mere på sin plads.
$bla = 123; $bla += 23; print $bla;
returnerer som forventet 146.
$bla = "123"; $bla += 23; print $bla;
returnerer desværre også 146.
PHP er desværre et frygtelig sloppy sprog på en del punkter :o|
F.eks. er JavaScript en del mere restrektivt end PHP på variabel-typer - selvom det ikke er nær så strikt som f.eks. Java eller C++. Jo mere komplekse ting, man koder/programmerer, jo vigtigere er det, at der er styr på den slags ting ... men man kan jo kun håbe på, at PHP 'vokser' med tiden og ender som et rigtig seriøst sprog :) /mvh
Sagt på en anden måde - jeg bruger: - "" om strenge. (Så jeg kan bruge variable indenfor) - '' om HTML-attributter. (Så jeg ikke skal escape dem) - {} om variable i strenge (Så jeg kan skrive variable på samme måde som udenfor) - '' om arraynøgler - med mindre nøglen er en streng, der skal fortolkes. - '' om småstrenge, der ikke skal fortolkes.
Joooh tak - men jeg vil gerne dele med Jakob og sandbox, hvis vi kan få dem til at kaste et svar :)
Synes godt om
Slettet bruger
09. maj 2004 - 22:23#16
Forresten er 123 og "123" ikke altid helt det samme:
$tal=123; $tekst="123";
if ($tal==$tekst) { echo "Tal og tekst har samme værdi";} if ($tal===$tekst) { echo "Tal og tekst er ens";}
Kun den første af de to sammenligninger vil udskrive noget. Hvis du vil undersøge om noget har både samme type og værdi skal du altså bruge === i stedet for bare ==
Den specielle kontrolstruktur, som jakoba nævnte er forresten også stadig gyldig. Det er endda den, jeg vil anbefale til brug i templatefiler, som udelukkende styrer output. Her er et eksempel:
<?php if (count($liste)>0): ?> <table> <tr> <th>Navn</th> <th>Nummer</th> </tr> <?php foreach ($liste as $linie): ?> <tr> <td><?php echo $linie['navn']; ?></td> <td><?php echo $linie['nummer']; ?></td> </tr> <?php endforeach; ?> </table> <?php else: ?> Der var ingen resultater <?php endif; ?>
Så har jeg også gjort lidt for at fortjene point ;-)
Damned ... kan vi da aldrig komme til at skændes om noget somhelst? ;D Jeg er helt enig, sukos. Man bør passe meget på med at undlade at bruge ting, der 'ikke er nødvendige'. Holder man sig på den sikre side - også selvom det koster lidt ekstra tegn - gør man livet meget lettere for sig selv ... og for ens evt. kunder ;o)
Nu, vi så har den fremme: Som du ser, bruger sukos accent graves (backticks) omkring navne i sin SQL-kommando: mysql_query( "SELECT `navn` FROM `db`" ) or die ( mysql_error() );
Det sikrer bl.a. mod fejl, hvis du kommer til at bruge et navn, som er reserveret i MySQL. En kommando som denne vil fejle: mysql_query( "SELECT by FROM db" ) or die ( mysql_error() ); da MySQL bruger det engelske ord 'by' til sortering af record-sets.
Denne feler derimod ikke: mysql_query( "SELECT `by` FROM `db`" ) or die ( mysql_error() ); /mvh
At jeg så mener, man aldrig bør bruge ordet 'by', er en anden ting. Sproget på WWW er engelsk og har man først én gang arbejdet videre med scripts skrevet af en asiatisk programmør (der skriver på sit eget sprog), ved man, hvor vigtigt det er, at holde sin kode international ;o) Jeg har engang haft 'fornøjelsen' at arbejde med en online DHTML-editor komponent, der hedder 'ace.htc' og som er skrevet af en indonesisk koder. De fleste af hans kommentarer stod på indonesisk, så det var lidt af et oversætterhelvede med et website, der kunne 'oversætte' fra indonesisk til engelsk :oP
Det var bare lige om jeg havde mine syntaxer rigtige, og det havde jeg
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.