Tilldelning

Från Wiki.linux.se
Version från den 17 augusti 2024 kl. 05.42 av Admin (diskussion | bidrag) (→‎Andra Tilldelningsoperatorer)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Tilldelningsoperatorer

Den grundläggande tilldelningsoperatorn är =.

Du bör inte tänka på det som "likamed". Det betyder faktiskt att vänster operand sätts till värdet av uttrycket på höger sida, det vill säga "sätts till".

Värdet av ett tilldelningsuttryck är det tilldelade värdet.

Det betyder att värdet av $a = 3 är 3. Detta möjliggör att du kan göra några knepiga saker:
$a = ($b = 4) + 5; // $a är nu lika med 9, och $b har ställts in till 4.

Kombinerade Operatorer

Utöver den grundläggande tilldelningsoperatorn finns det "kombinerade operatorer" för alla binära aritmetiska, arrayförening och strängoperatorer.

$a = 3;
$a += 5; // sätter $a till 8, som om vi hade sagt: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sätter $b till "Hello There!", precis som $b = $b . "There!";

Tilldelning efter Referens

Tilldelning efter referens stöds också, med hjälp av syntaxen $var = &$othervar;.

$a = 3;
$b = &$a; // $b är en referens till $a

print "$a\n"; // skriver ut 3
print "$b\n"; // skriver ut 3

$a = 4; // ändra $a

print "$a\n"; // skriver ut 4
print "$b\n"; // skriver ut 4 också, eftersom $b är en referens till $a, som har ändrats

Aritmetiska Tilldelningsoperatorer

Exempel Ekvivalent Operation
$a += $b $a = $a + $b Addition
$a -= $b $a = $a - $b Subtraktion
$a *= $b $a = $a * $b Multiplikation
$a /= $b $a = $a / $b Division
$a %= $b $a = $a % $b Modulus
$a **= $b $a = $a ** $b Exponentiering

Bitvisa Tilldelningsoperatorer

Exempel Ekvivalent Operation
$a &= $b $a = $a & $b Bitvis Och
= $b $b Bitvis Eller
$a ^= $b $a = $a ^ $b Bitvis Xor
$a <<= $b $a = $a << $b Vänster Shift
$a >>= $b $a = $a >> $b Höger Shift

Andra Tilldelningsoperatorer

Exempel Ekvivalent Operation
$a .= $b $a = $a . $b Strängkonkatenering
$a ??= $b $a = $a ?? $b Null Sammanslagning

Se även

PHP
Språkreferens