logo   PHP Operatorer




En "operator" er et symbol, der bruges til at styre udførslen af en operation på en bestemt måde. I PHP kan anvendes ca. 50 forskellige operatorer fordelt på følgende 11 grupper:


Oversigt over mange operatorer i stackowerflow:


Objekt .
Array .
Aritmetiske.
Sammenlignende.
Tilknytnings.
Bitwise.
Fejlstyring.
Udførsel.
Forøgelse / Formindskelse.
Logiske.
Streng.
Array.
Type.
Andre.



Objekt  


Operatorer til anvendelse ved objektorienteret kodning.


Objekt->Tilknyt / brug i den efterfølgende anførte metode eller instans eller 'instance property'
' PHPs way of accessing, running, or assigning "stuff" within an object.'.
echo $this->var;
 
"static"
Double colon
::I det foran anførte objekt hentes den efterfølgende anførte static egenskab eller static funktion.
Ved hentning i aktuelt objekt foranstilles "self".
 



Array


Opbygning af navn-værdi sæt i arrays.


Double arrow=>Etablerer for elementer i arrays sammenhæng mellem venstre side (navn) og højre side (værdi).
 



Aritmetiske  x


Almindeligl aritmetisk talbehandling.


Addition+Almindelig addition.
$a + $b
 
Negation-Det modsatte af $a (inden mellemrum mellem tegnet og variablen).
-$a
 
Subtraktion-Almindelig subtraktion.
$a - $b
 
Multiplikation*Almindelig multiplikation.
$a * $b
 
Division/.
Almindelig division
 
Modulus%Beregning af modulus (restværdi).
$a % $b
 



Sammenlignende  x


Sammenligninger mellem variablers værdi. Returnerer Boolske resultater: TRUE eller FALSE.


Lig med==Returnerer true hvis operanterne er ens efter "type juggling" .
$a == $b
 
Identiske===Returnerer true hvis operanterness værdi og datatype er ens.
$a === $b
 
Ikke lig med!=Returnerer true hvis operanterne ikke er ens efter "type juggling" .
$a != $b
 
Forskellig fra<>>Returnerer true hvis operanterne ikke er ens efter "type juggling" .
$a <> $b
 
Ikke identiske!==Returnerer true hvis operanternes værdi og / eller datatype er forskellig.
$a !== $b
 
Mindre end<Returnerer true hvis den venstre operant er mindre end den højre operant.
$a < $b
 
Større end>Returnerer true hvis den venstre operant er større end den højre operant.
$a > $b
 
Mindre end eller lig med<=Returnerer true hvis den venstre operant er mindre end eller lig den højre operant.
$a <= $b
 
Større end eller lig med>=Returnerer true hvis den venstre operant er større end eller lig den højre operant.
$a >= $b
 



Tilknytnings  x


Værdien af variablen til venstre opdateres baseret på operatoren og dataene til højre for den. Operatorerne (bortset fra '=') er 'shorthand' for hhv. standard aritmetiske operationer og for bitvise operationer.


Assignment=Almindeligt lighedstegn. Sætter variablen $a = variablen $b.
$a = $b
 
Konkatenering.=Variablen $a sættes lig konkatenering af oprindelig $a-værdi og $b-værdi eller streng. Se også "." nedenfor som String operator.
$a .= "tekst" betyder $a = $a . "tekst"
 
Reference&Benyttes til at opbygge 4 former for referencer:  
Operatorerne nedenfor er 'shorthand' for standard aritmetiske operationer. Værdien af variablen til venstre opdateres baseret på operatoren og dataene til højre for den.
Aritmetisk addition+=Variablen $a sættes lig oprindelig $a-værdi + $b-værdi.
$a += $b betyder $a = $a + $b
 
Aritmetisk subtraktion-=Variablen $a sættes lig oprindelige $a-værdi - $b-værdi.
$a -= $b betyder $a = $ - $b
 
Aritmetisk multiplikation*=Variablen $a sættes lig oprindelig $a-værdi * $b-værdi.
$a *= $b betyder $a = $a * $b
 
Aritmetisk division/=Variablen $a sættes lig oprindeling $a-værdi / $b-værdi.
$a /= $b betyder $a = $a / $b
 
Aritmetisk modulus%=Variablen $a sættes lig restværdien af $a-værdi / $b-værdi.
$a %= $b betyder $a = $a % $b
 



Bitwise  x


2 typer bit-operatorer. 1. Sammenligner de enkelte bits i variablerne. 2 Flytter bitsene sidelæns og udfylder de derved opståede tomme pladser.


Sammenligning
Bitwise AND&Returnerer bitvis 1 hvis både bit i $a og €b har værdien 1.
$a & $b
 
Bitwise OR (inklusiv or)|Returnerer bitvis 1 hvis enten bit i $a eller $b har værdien 1.
$a | $b
 
Bitwise XOR (eksklusiv OR)^Returnerer bitvis 1 hvis enten bit i $a eller $b, men ikke begge har værdien 1.
$a ^ $b
 
Not~De enkelte bitværdier (incl. fortegn) i $a vendes fra 0 til 1 eller fra 1 til 0.
~ $a
 
Flytning
Venstre skift<<Skifter $a til venstre med $b bits. 0-bits indsættes på de ledige pladser i højre side. Fortegn tabes.
$a << $b
 
Højre skift>>Skifter $a til højre med $b bits. 0-bits indsættes på de ledige pladser i venstre side. Fortegn bevares.
$a >> $b
 



Fejl kontrol  x


Informationsmæssig undertrykkelse af forekomster af fejl.


Fejl kontrol@Kan sættes som prefix til alle udtryk. Medfører at fejlregistreringer og -meddelelser foranlediget af udtrykket vil blive ignoreret.
@$cache[$key]
 



Udførsel  x


Backticks består af to "accent grave" `...`. De kan ikke anvendes inde i "..".
Backticks placeres udenom:

egne navne på variabler, der er identiske med reserverede ord, både i PHP og MySQL.
egne navne med mellemrum.
egne navne med diverse ikke-printbare tegn.

Ingen af de tre situationer bør dog forekomme i "pæn PHP-kode" og anvendelsen af backticks vil derfor slet ikke være nødvendig. Det er ikke "god kodeskik" at gøre sig afhængig af dem.

Egne navne bør vælges således, at risikoen for kollision med kommende reserverede ord i PHP eller MySQL minimeres.

Backtick` `$output = `ls -al`;
$sql = "SELECT * FROM `{$this->_table}` WHERE `id` = ...
 



Forøgelse / Formindskelse  x


Specielle aritmetiske operatorer.


Foranstillet forøgelse++$a$a forøges med 1 før dens værdi bruges.
echo "Should be 6: " . ++$a . "\n";
 
Efterstillet forøgelse$a++$a forøges med 1 efter dens værdi er brugt.
echo "Should be 5: " . $a++ . "\n";
 
Foranstillet formindskelse--$a$a formindskes med 1 før dens værdi bruges.
echo "Should be 4: " . --$a . "\n";
 
Efterstillet formindskelse$a--$a formindskes med 1 efter dens værdi er brugt.
echo "Should be 5: " . $a-- . "\n";
 



Logiske  x


Logiske operatorer. Returnerer Boolske resultater: TRUE eller FALSE.


AndandReturnerer true når både $a og $b er true. Ellers returneres false.
$resultat = $a && $b
 
OrorReturnerer true når $a eller $b er true. Er de begge false returneres false.
$resultat = $a || $b
 
XorxorReturnerer true hvis enten $a eller $b er true, men ikke begge.
$resultat = $a xor $b
 
Logisk NOT!$a vender sin værdi fra true til false eller fra false til true.
$resultat = !$a
 
Logisk AND&&Returnerer true når både $a og $b er true. Ellers returneres false.
$resultat = $a && $b
 
Logisk OR||Returnerer true når $a eller $b er true. Er de begge false returneres false.
$resultat = $a || $b
 



Streng  x


Konkatenering af datastrenge.


Konkatenering.De to argumenter $a og "World!" konkateneres i $b. Se også ".=" ovenfor som Assignment operator.
$b = $a . "World!";
 



Array  x


Operatorer til arrays.


Konkatenering+De to arrays $a og $b konkateneres i $c.
$c = $a + $b;
 
Lig med==Returnerer true hvis indholdet af nøgle/værdi-par i de to arrays er ens.
 
Identiske===Returnerer true hvis indholdet af nøgle/værdi-par i de to arrays er ens både i rækkefølge og datatyper.
 
Ikke lig med!=Returnerer true hvis indholdet i de to arrays $a og $b ikke er ens.
$a != $b
 
Forskelligt fra<>Returnerer true hvis indholdet i de to arrays $a og $b ikke er ens.
$a <> $b
 
Ikke identisk!==Returnerer true hvis de to arrays $a og $b ikke er identiske.
$a !== $b
 



Type  x


!!!!!!!.


instanceofAnvendes i Objekt Orienteret PHP til at afklare om $a er en "forekomst" af MyClass.
var_dump($a instanceof MyClass);
 



Andre


Nedenstående er ikke operatorer, men har visse ligheder med dem:


URL-parameter.... .php?navn=værdi&navn=værdiAnvendes ved overførsel af variabler fra et program til et andet via URL. Fanges i det modtagende program med $_GET. 
Complex syntax
"curly" syntax
{...}

$sql = "SELECT * FROM {$this->_table_2}

return !empty($page) ? "/?page={$page}" : null;

$out[] = "<a href=\"{$url}\">Last</a>";

Anvendes som ydre afgrænsning omkring mere komplekse udtryk, der af PHP skal læses som en samlet ident. Kan også - men uden at tilføje nogen nytte - lægges udenom simple udtryk (f.eks. alm. variabler).
Der må ikke være blanke tegn inde i {}

Må ikke forveksles med {} knyttet til kommandoer (f.eks. if(){}).
 
Kort "if"
isset($_GET['noget']) ? $_GET['noget'] : '';
Der svarer til:
if (isset($_GET['noget'])) {
    $_GET['noget'];
} else {
    '';
}
Kort form for "if"-sætning" (også kaldet TERNARY operator).
Sætningen består af 3 dele delt med hhv. "?" og ":". Den læses lettest som:
"if ? then : else"
"if" og ()Udelades
før "?"Her indsættes (...)-dataene
mellem "?" og ":"Her indsættes {...}-dataene
efter ":"Her indsættes else{...}-dataene
 































































x
x