qualitum logo
Operatorer
Operatorer kan du använda till att antingen påverka en variabel eller jämföra den med ett värde, alternativt en annan variabel. Det klassiska operatorsexemplet är vanlig addition, 2+2=4. I uttrycket kallar man de båda tvåorna för operander och plustecknet för en operator. Detta skulle lika gärna kunnat ske med PHP-variabler, $c=$a+$b.

Det finns olika sorters operatorer. Först ut är de aritmetiska operatorerna.

Aritmetiska operatorer

Har du koll på din lågstadiematte? För det är ungefär det som de aritmetiska operatorerna handlar om. Nedan finner du en tabell med dessa operatorer och tillhörande förklaringar.







































Exempel Namn Resultat
$a + $b Addition Summan av $a och $b.
$a - $b Subtraktion Skillnaden mellan $a och $b.
$a * $b Multiplikation Produkten av $a och $b.
$a / $b Division Kvoten av $a och $b.
$a % $b Modulus Resten vid divisionen $a / $b.



Jämförande operatorer

Ofta handlar programmering om att jämföra två uttryck med varandra. För att göra detta använder du dig av de jämförande operatorerna. Du kan till exempel kontrollera ifall värdet på två variabler är lika, det gör du med operatorn ”==”. Nedan finner du en tabell med dessa operatorer och tillhörande förklaringar.



























































Exempel Namn Resultat
$a == $b Lika Sant om $a är lika med $b.
$a === $b Identiska Sant om $a är lika med $b, och de är av samma variabeltyp (PHP4 och senare).
$a != $bEj lika Sant om $a inte är lika med $b.
$a <> $bEj lika Sant om $a inte är lika med $b.
$a !== $b Ej identiska Sant om $a inte är lika med $b, eller om de inte är av samma typ (PHP4 och senare).
$a < $b Mindre än Sant om $a är mindre än $b.
$a > $b Större än Sant om $a är större än $b.
$a <= $b Mindre eller lika med Sant om $a är mindre än eller lika med $b.
$a >= $b Större eller lika med Sant om $a är större än eller lika med $b.



Mycket mer finns inte att säga om dessa operatorer. Du kommer att stöta på dem framförallt i kapitlet om villkorssatser, där kommer vi använda dem i mer praktiska exempel.

Logiska operatorer

De logiska operatorerna kombinerar du med de jämförande och kan på det sättet validera flera uttryck på en gång. Nedan finner du en tabell med dessa operatorer och tillhörande förklaringar.







































Exempel Namn Resultat
$a and $bOch Sant om både $a och $b är sant.
$a or $bEller Sant om antingen $a eller $b är sant.
$a xor $bXor Sant om antingen $a eller $b är sant, men inte om båda är sanna.
! $aInte Sant om $a inte är sant.
$a && $bOch Sant om både $a och $b är sant.
$a || $bEller Sant om antingen $a eller $b är sant.



Jag säger samma sak om dessa operatorer som med de jämförande, användningen av dem kommer gå upp för dig när du ser mer exempelkod. Att visa praktiska exempel nu skulle inte gå då vi inte gått igenom sådana saker som villkorssatser ännu.

”-” operatorn

Förutom att utföra subtraktion kan du använda ”-” operatorn till att negera tal.

Exempel

PHP:
1:
<?php
2:
 
3:
$a 2
4:
$b = -3
5:
 
6:
/* Först visar vi det snabba, enkla sättet */
7:
echo -$a;  
8:
echo '<br />'
9:
 
10:
echo -$b
11:
echo '<br />'
12:
 
13:
/* Sen det lite mer omständliga, här har du dock chans att förstå hur - operatorn fungerar. */
14:
 
15:
echo (-1)*$a
16:
echo '<br />';
17:
 
18:
echo (-1)*$b
19:
echo '<br />';
20:
 
21:
?>


Strängoperatorn

En vanlig operator som du kanske redan träffat på är strängoperatorn. Det är punkten (.) som används för att lägga ihop två stycken strängar. För att förstå det bättre visar vi ett litet exempel:

Exempel

PHP:
1:
<?php
2:
 
3:
$strang1 'Detta är';
4:
$strang2 ' en sträng';
5:
$strang3 $strang1 $strang2;
6:
 
7:
/* Detta skriver ut: ‘Detta är en sträng' */
8:
echo $strang3;
9:
 
10:
?>


Tilldelningsoperatorn

Detta är förmodligen den mest använda operatorn av dem alla. Förväxla inte tilldelningsoperatorn (=) med den jämförande operatorn som validerar om två värden är lika varandra (==). Denna förväxling är någonting som du garanterat kommer råka ut för och det är ofta svårt att felsöka.

Det tilldelningsoperatorn gör är att den tilldelar en variabel värdet av det uttryck som står höger om den. Uttrycket kan vara en hårdkodad siffra, en variabel eller resultatet av en körd funktion (mer om funktioner i kommande kapitel).

Exempel

PHP:
1:
<?php
2:
 
3:
$siffra1 5
4:
$siffra2 3.28
5:
$siffra3 $siffra1/$siffra2;
6:
 
7:
$strang1 'Detta är en sträng'
8:
$strang2 geMigEnStrang(); 
9:
 
10:
/* Tänk på att geMigEnStrang() inte är en inbyggd funktion i PHP utan en som du själv måste definiera. Kodexemplet kommer därför inte vara körbart. */
11:
 
12:
?>


Smarta genvägar

Nedan finner du en tabell med lite smarta genvägar vid variabeltilldelning. Som du ser används de operatorer som vi tidigare i kapitlet gått igenom.



























































Exempel Motsvarar
$a += $b $a = $a + $b
$a -= $b $a = $a - $b
$a *= $b $a = $a * $b
$a /= $b $a = $a / $b
$a %= $b $a = $a % $b
$a .= $b $a = $a . $b
$a++ $a = $a + 1
++$a $a = $a + 1
$a-- $a = $a - 1
--$a $a = $a - 1



Exempel

PHP:
1:
<?php
2:
 
3:
/* Exempel 1 */ 
4:
$a 20;    //$a tilldelas nu värdet 20
5:
$a++;       //$a sätts nu till 21
6:
 
7:
/* Exempel 2 */ 
8:
$b 20;    //$b tilldelas nu värdet 20 
9:
++$b;       //$b sätts nu till 21
10:
 
11:
/* 
12:
Så långt inga problem, men nedan visas skillnaderna mellan de olika metoderna. 
13:
*/
14:
 
15:
/* Exempel 3 */ 
16:
$a 20;     //$a tilldelas nu värdet 20, precis som innan
17:
$b $a++;   //$a sätts till 21 medans $b bara får värdet 20.
18:
 
19:
/* Exempel 4 */ 
20:
$a 20;     //$a tilldelas nu värdet 20
21:
$b = ++$a;   //Både $a och $b är efter denna satsen 21.
22:
?>


Kapitlet har som du sett mest varit ett tragglande i olika tabeller. Jag har med avsikt hållit nere mängden exempel här. Anledningen är att betydelsen ofta är ganska självklar, det finns ingen anledning publicera exempel som ett självändamål.
Kapitel 6 av 8
[ 1 2 3 4 5 6 7 8 ]
Välkommen Anonymous
Logga in
Registrera
Snabblänkar
Markera alla forum som lästa
Skriptarkivet [86 av 97]
Visa nya inlägg
Visa dina inlägg
Visa obesvarade huvudinlägg
Läs vår skola
  Introduktion
  Programmera i webbmiljö
  Installationen i Windows
  Variabler och konstanter
  Vektorer
  Operatorer
  Villkorssatser
  Slingor
Statistik
Registrerade medlemmar: 19364
Inlägg totalt: 715306
Senaste medlem: knoblys
Online
Besökare just nu: 12,
0 registrerade,
0 dolda och
12 gäster
Besökare som mest var 337 den 2007-07-16 20:05

Våra medlemmar
Inloggade medlemmar
Bra att veta
Förhållningsregler
Trivselregler
phpBB-FAQ
För dig som vill länka
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo