Uttryck

Från Wiki.linux.se
Version från den 15 augusti 2024 kl. 15.06 av Admin (diskussion | bidrag) (Skapade sidan med '== Uttryck == Uttryck är de viktigaste byggstenarna i PHP. I PHP är nästan allt du skriver ett uttryck. Det enklaste men mest exakta sättet att definiera ett uttryck är "något som har ett värde". === Grundläggande uttryck === De mest grundläggande formerna av uttryck är konstanter och variabler. När du skriver <code>$a = 5</code>, tilldelar du 5 till <code>$a</code>. 5 har uppenbarligen värdet 5, eller med andra ord är 5 ett uttryck med värdet 5 (i detta...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Uttryck

Uttryck är de viktigaste byggstenarna i PHP. I PHP är nästan allt du skriver ett uttryck. Det enklaste men mest exakta sättet att definiera ett uttryck är "något som har ett värde".

Grundläggande uttryck

De mest grundläggande formerna av uttryck är konstanter och variabler. När du skriver $a = 5, tilldelar du 5 till $a. 5 har uppenbarligen värdet 5, eller med andra ord är 5 ett uttryck med värdet 5 (i detta fall är 5 en heltalskonstant).

Efter denna tilldelning skulle du förvänta dig att $a:s värde är 5, så om du skrev $b = $a, skulle du förvänta dig att det beter sig precis som om du skrev $b = 5. Med andra ord är $a ett uttryck med värdet 5 också. Om allt fungerar rätt, är detta precis vad som kommer att hända.

Funktioner

<?php
function foo ()
{
    return 5;
}
?>

Om du är bekant med konceptet av funktioner (om inte, kolla in kapitlet om funktioner), skulle du anta att skriva $c = foo() är i princip samma som att skriva $c = 5, och du har rätt. Funktioner är uttryck med värdet av deras returvärde. Eftersom foo() returnerar 5, är värdet av uttrycket 'foo()' 5. Vanligtvis returnerar funktioner inte bara ett statiskt värde utan beräknar något.

Variabla värden

Naturligtvis behöver värden i PHP inte vara heltal, och väldigt ofta är de inte det. PHP stöder fyra skalära värdestyper: heltalsvärden (int), flyttalsvärden (float), strängvärden och boolska värden (skalära värden är värden som du inte kan 'bryta' ned i mindre delar, till skillnad från till exempel arrayer). PHP stöder också två sammansatta (icke-skalära) typer: arrayer och objekt. Var och en av dessa värdestyper kan tilldelas till variabler eller returneras från funktioner.

Uttrycksorientering

PHP tar uttryck mycket längre, på samma sätt som många andra språk gör. PHP är ett uttrycksorienterat språk, i den meningen att nästan allt är ett uttryck. Betrakta exemplet vi redan har hanterat, $a = 5. Det är lätt att se att det finns två värden inblandade här, värdet av den heltalskonstanta 5 och värdet av $a som uppdateras till 5 också. Men sanningen är att det finns ett ytterligare värde inblandat här, och det är värdet av tilldelningen själv. Tilldelningen i sig utvärderas till det tilldelade värdet, i detta fall 5. I praktiken betyder det att $a = 5, oavsett vad det gör, är ett uttryck med värdet 5. Således är att skriva något som $b = ($a = 5) som att skriva $a = 5; $b = 5; (ett semikolon markerar slutet på ett påstående). Eftersom tilldelningar tolkas från höger till vänster, kan du också skriva $b = $a = 5.

Inkrement och dekrement

Användare av PHP och många andra språk kan vara bekanta med notationen variable++ och variable--. Dessa är öknings- och minskningsoperatorer. I PHP, liksom i C, finns det två typer av ökning - pre-inkrement och post-inkrement. Både pre-inkrement och post-inkrement ökar variabeln, och effekten på variabeln är identisk. Skillnaden är med värdet av inkrementuttrycket. Pre-inkrement, som skrivs ++$variable, utvärderas till det ökade värdet (PHP ökar variabeln innan den läser dess värde, därav namnet 'pre-inkrement'). Post-inkrement, som skrivs $variable++ utvärderas till variabelns ursprungliga värde, innan den ökades (PHP ökar variabeln efter att ha läst dess värde, därav namnet 'post-inkrement').