Kapitel 6. Variabler

Innehållsförteckning
Vad är en variabel
Datatyper
Övningar

Detta avsnitt beskriver vad variabler är och hur man använder dem i ett PHP-script. Det tar även upp skillnaden mellan variabler i PHP och i andra vanliga kompilerande språk.

Vad är en variabel

En variabel är en platshållare för ett värde som ändras under programmets gång. Motsatsen till variabel är en konstant. En konstant kan eller får inte ändras under programmets gång.

Ett exempel på en variabel kan vara termer i en addition. Tänk dig att du vill göra ett program som skall ränka ut en summa. Man skulle kunna göra programmet med bara konstanter, det skulle se ut så här:

Exempel 6-1. Exempel med konstanter


<html>
	<head>
   	<title>Addition</title>
	</head>
	<body>
   	<?php
      	echo "Summan av talen 1 och 2 är: ", 1 + 2;
   	?>
	</body>
</html>

				
Som du kan se så räknar PHP ut vad 1 + 2 blir. Men vad har man för nytta av ett program som bara räknar ut 1 + 2. Vi vill ju kunna mata in vilka värden som helst för termerna.

Se nedanstående exempel:

Exempel 6-2. Exempel med variabler


<html>
	<head>
		<title>Addition</title>
	</head>
	<body>
		<?php
			$tal1 = 2;
			$tal2 = 3;
			echo "Summan av talen $tal1 och $tal2 är: ", $tal1 + $tal2;
		?>
	</body>
</html>

				
I exemplet ovan använder vi två variabler, $tal1 och $tal2. I PHP börjar alla variabelnamn med ett dollartecken. Programmet ovan är dock lika statiskt som det fösta programmet. Våra variabler får ju samma värde (2 och 3) varje gång programmet körs. De kan inte påverkas av något.

Vi tar ytterligare ett exempel:

Exempel 6-3. Exempel med variabler och $_GET


<html>
	<head>
		<title>Addition</title>
	</head>
	<body>
		<?php
			$tal1 = $_GET['tal1'];
			$tal2 = $_GET['tal2'];
			echo "Summan av talen $tal1 och $tal2 är: ", $tal1 + $tal2;
		?>
	</body>
</html>

				
I exemplet ovan hämtar vi värdena till $tal1 och $tal2 från en speciell variabel som heter $_GET. I $_GET finns det data som ges till programmet via URL:en. Till exempel så kommer programmet om det anropas som http://dinserver/programnamnet.php?tal1=100&tal2=199 att skriva ut "Summan av talen 100 och 199 = 299".

Testa sedan andra tal och se vad som händer.

Du kanske provade att sätta ett av talen till någor annat än ett tal, till exempel bokstäver? I så fall såg du att PHP inte kan summera text. Observera att om du matar in ett decimaltal så måste decimalpunkt och inte komma användas.

Datatyper

Alla programmeringsspråk arbetar med olika datatyper. I PHP behöver du inte ange vilken typ det är du jobbar med utan det listar programtolken ut från innehållet. Det är dock väldigt viktigt att man håller reda på vilka typer ens variabler har eftersom det kan bli underliga fel annars.

Följande typer finns:

Skalära

  • boolean, bool (true, false)

  • integer, int (heltal)

  • float, double, real (reella tal)

  • string (Textsträngar)

Sammansatta

  • arrayer (En samling av värden som indexeras antingen av en integer eller string).

  • objekt (Kommer inte att ingå i denna kurs, se manualen om du är intresserad).

Övriga speciella

  • NULL (Variabeln har inget värde alls).

  • resource (Innehåller en referens till en extern tillgång).

Övningar

Addition

Skapa ett program som med hjälp av variabler summerar tre tal.