26. oktober 2007 - 09:48Der er
9 kommentarer og 1 løsning
Hvad betyder "isset"? Begynder spørgsmål
Hej
Sidder og er i gang med at lærer php. Og har lige lavet dette:
<html> <body>
<?php
$tal = 10; if ($tal == 10){ echo "Tillykke det skulle virke"; }
$tal = 10; if (isset($tal == 10)){ echo "Skulle også virke"; }
?>
</body> </html>
-
En ting er at det giver fejl, men en anden ting er at jeg ikke rigtig forstår hvad isset betyder? Så mit spørgsmål var om der ikke var en venlig person her inde som gav svare på sådan et spørgsmål?
Så den gør altså bare det at den tester om der er en variabel, forstået på denne måde:
<?php
$tal = '' //skal der mellem de to '' ikke være en navn eller et tal? if (isset($tal)){ echo "Nu skulle den foresætte da der findes noget der hedder $tal" }
arh. mit engelske er ikke så godt..! Synes det er lidt svært og forstå.! Du kunne ikke give et eksempel?
$var = ''; if (isset($var)) { echo "This var is set so I will print."; }
// Her går isset ind og ser om der overhoved findes noget der hedder $var right? // og hvis der findes noget som hedder det, skriver den sætningen "This var is set so // i will print" ikke? // Men hvad så med resten af formlen?
Ser vi på det første, som er det du kan bruge... tjekker isset om der er en variabel der hedder $var og at den ikke er NULL altså at den er sat til en værdi...
isset går rent og skær ind og kigger om der overhoved er en variabel som hedder f.eks. $var og hvis der så er det, kunne den som i dette eksempel skrive "This var is set so I will print.".
Hvor i mod !isset går ind og kigger på det total modsatte, nemlig: hvis der ikke er en som hedder $var .. Så går den ind og skriver sætningen?
Kan ikke rigtig få nedenstående til at virke, den skulle virke så php går ind og kigger om der er indtastet en karakter, og hvis det er det, så tjekker den om den karakter ligger til at bestå eller ej, men hvis der ikke er tastet nogen karakter skriver den følgenden tekst. "Du har ikke fået en karakter endnu, ellers kan det være fordi den er indtastet forkert". hvad har jeg gjort forkert?
<html> <body>
<?php
$karakter = '00. 03. 5. 7. 8. 9. 10. 11. 13';
if (isset(karakter = 8)){ if ($karakter >5) { echo "Tillykke du har bestået!"; echo "<br>"; } else { echo "Desværre! Du dumpede!"; echo "<br>"; } echo "Du har ikke fået en karakter endnu, ellers kan det være fordi den er indtastet forkert"; ?>
<?PHP // Vi opretter lige en funktion, hvis du nu skal bruge det flere steder. public function findkarakter($karakter) { //empty() tjekker for om en variabel er NULL eller "" altså tom, eller om den overhovedet findes if(!empty($karakter)) { //Hvis karakteren findes tjekker vi om den er over 5... if((int)$karakter >= 5) { //Her retunere vi svaret til det sted hvor vi kalder funktionen. return "Tillykke du har bestået!"."<br />"; } else { return "Desværre! Du dumpede!"."<br />"; } } else { return "Du har ikke fået en karakter endnu, ellers kan det være fordi den er indtastet forkert"; }
} //Her kalder vi vores funktion med karakteren 03, den vil skrive "Desværre! Du dumpede!" i din browser. echo findkarakter("03"); // Her indsættes den karakter brugeren har fået.
?>
Grunden til at jeg bruger funktionen empty() i stedet for isset er at den i dette tilfælde ville være det bedste valg, da den tjekker for mere end isset og fordi isset ikke bruges i PHP5 generelt.
Ja okay, næsten forstået..! Men okay, har lige siddet og rodet lidt med det, og jo mere jeg roder med det jo mere giver det mening.. bare meget rart lige og have en andens kode og kigge på..!
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.