PHP-datatyper, variabler, konstanter, Operatorer

โšก Smart sammanfattning

PHP-datatyper, variabler och Operators utgรถr grunden fรถr varje PHP-skript. Denna genomgรฅng fรถrklarar hur PHP hรคrleder heltals-, flyttals-, strรคng- och booleska typer, hur variabler lagrar data, hur typomvandling fungerar och hur aritmetiska, tilldelnings-, jรคmfรถrelse- och logiska operatorer beter sig.

  • ๐Ÿ”ฃ Lรถs Typing: PHP รคr lรถst typat, sรฅ det hรคrleder en variabels datatyp frรฅn det tilldelade vรคrdet snarare รคn en explicit deklaration.
  • ๐Ÿงฑ Kรคrntyper: De huvudsakliga skalรคrtyperna รคr heltal, flyttal, strรคng och boolesk, som alla detekteras automatiskt vid kรถrning.
  • ๐Ÿ“ฆ variabler: En variabel รคr en namngiven minnesplats vars omfattning, global eller lokal, avgรถr var den syns i skriptet.
  • ๐Ÿ” Typ gjutning: Casting konverterar ett vรคrde till en annan typ, antingen implicit av tolken eller explicit med syntax som (int).
  • ๐Ÿ“Œ Konstanter: En konstant definierad med define() har ett fast vรคrde, sรฅsom PI, som inte kan รคndras medan skriptet kรถrs.
  • โž• Operators: Aritmetiska, tilldelnings-, jรคmfรถrelse- och logiska operatorer manipulerar och jรคmfรถr vรคrden, dรคr === รคven kontrollerar datatypen.
  • ๐Ÿค– AI Assist: AI-verktyg kan fรถrklara jonglering av PHP-typer, flagga riskabla lรถsa jรคmfรถrelser och fรถrtydliga operatorprioritet med snabba exempel.

PHP-datatyper, variabler och Operatorer

PHP-datatyper

En datatyp รคr klassificeringen av data i en kategori enligt dess attribut:

  • Alfanumeriska tecken klassificeras som strรคngar
  • Heltal klassificeras som heltal
  • Numbers med decimaler klassificeras som flyttal.
  • Sanna eller falska vรคrden klassificeras som booleska.

PHP รคr ett lรถst typat sprรฅk; det har inte explicit definierade datatyper. PHP bestรคmmer datatyperna genom att analysera attributen fรถr den data som tillhandahรฅlls. PHP stรถder implicit fรถljande datatyper:

  • Heltal โ€“ heltal t.ex. -3, 0, 69. Det maximala vรคrdet fรถr ett heltal รคr plattformsberoende. Pรฅ en 32-bitars maskin รคr det vanligtvis runt 2 miljarder. 64-bitars maskiner har vanligtvis stรถrre vรคrden. Konstanten PHP_INT_MAX anvรคnds fรถr att bestรคmma det maximala vรคrdet.
<?php
echo PHP_INT_MAX;
?>

Produktion:

9223372036854775807
  • Flyttal โ€“ decimaltal t.ex. 3.14. De รคr ocksรฅ kรคnda som dubbla eller reella tal. Det maximala vรคrdet fรถr ett flyttal รคr plattformsberoende. Flyttal รคr stรถrre รคn heltal.
  • Karaktรคrsstrรคng โ€“ t.ex. Hello World
  • Boolean โ€“ t.ex. Sant eller falskt.

Innan vi gรฅr in mer i detalj pรฅ att diskutera PHP-datatyper, lรฅt oss fรถrst diskutera variabler.

PHP-variabel

En variabel รคr ett namn som ges till en minnesplats som lagrar data under kรถrning.

Omfattningen av en variabel avgรถr dess synlighet.

En global PHP-variabel รคr tillgรคnglig fรถr alla skript i en applikation.

En lokal variabel รคr endast tillgรคnglig fรถr skriptet som den definierades i.

Tรคnk pรฅ en variabel som ett glas som innehรฅller vatten. Du kan tillsรคtta vatten i glaset, dricka upp allt, fylla pรฅ det igen osv. Detsamma gรคller fรถr variabler.

Variabler anvรคnds fรถr att lagra data och tillhandahรฅlla den lagrade datan vid behov. Precis som i andra programmeringssprรฅk stรถder รคven PHP variabler. Lรฅt oss nu titta pรฅ de regler som fรถljs nรคr man skapar variabler i PHP.

  • Alla variabelnamn mรฅste bรถrja med dollartecknet, t.ex.
  • PHP-variabel
  • Variabelnamn รคr skiftlรคgeskรคnsliga; detta betyder att $my_var skiljer sig frรฅn $MY_VAR
  • PHP-variabel
  • Alla variabelnamn mรฅste bรถrja med en bokstav, fรถljt av andra tecken, t.ex. $my_var1. $1my_var รคr inte ett giltigt variabelnamn.
  • PHP-variabel
  • Variabelnamn fรฅr inte innehรฅlla nรฅgra mellanslag. โ€$first nameโ€ รคr inte ett giltigt variabelnamn. Du kan istรคllet anvรคnda ett understreck istรคllet fรถr mellanslaget, t.ex. $first_name. Du kan inte anvรคnda tecken som dollar- eller minustecken fรถr att separera variabelnamn.
  • PHP-variabel

Lรฅt oss nu titta pรฅ hur PHP bestรคmmer datatypen beroende pรฅ attributen fรถr den angivna datan.

<?php
$my_var = 1;
echo $my_var;
?>

Produktion:

1

Flyttal

<?php
$my_var = 3.14;
echo $my_var;
?>

Produktion:

3.14

Karaktรคrsstrรคngar

<?php
$my_var = "Hypertext Pre Processor";
echo $my_var;
?>

Produktion:

Hypertext Pre Processor

Anvรคndning av variabler

Variabler hjรคlper till att separera data frรฅn programalgoritmerna.

Samma algoritm kan anvรคndas fรถr olika indatavรคrden.

Anta till exempel att du utvecklarping ett kalkylatorprogram som adderar tvรฅ tal. Du kan skapa tvรฅ variabler som accepterar talen, sedan anvรคnder du variabelnamnen i uttrycket som utfรถr additionen.

Variabel typgjutning

Utfรถra aritmetiska berรคkningar med hjรคlp av variabler pรฅ ett sprรฅk som t.ex C# krรคver att variablerna รคr av samma datatyp.

Typgjutning รคr att konvertera en variabel eller ett vรคrde till en รถnskad datatyp.

Detta รคr mycket anvรคndbart nรคr du utfรถr aritmetiska berรคkningar som krรคver att variabler รคr av samma datatyp.

Typcasting i PHP gรถrs av tolken.

Pรฅ andra sprรฅk som C# mรฅste du casta variablerna. Koden nedan visar typ casting i C#.

Variabel typgjutning

Diagrammet nedan visar PHP implementera exemplet ovan.

Variabel typgjutning

PHP lรฅter dig ocksรฅ casta datatypen. Detta kallas explicit casting. Koden nedan demonstrerar explicit typcasting.

<?php
$a = 1;
$b = 1.5;
$c = $a + $b;
$c = $a + (int) $b;
echo $c;
?>

Produktion:

2

Ovanstรฅende kod matar ut 2. Funktionen var_dump anvรคnds fรถr att bestรคmma datatypen. Koden nedan visar hur man anvรคnder funktionen var_dump.

<?php
$a = 1;
var_dump($a);
$b = 1.5;
var_dump($b);
$c = "I Love PHP";
var_dump($c);
$d = true;
var_dump($d);
?>

Produktion:

int(1) float(1.5) string(10) "I Love PHP" bool(true)

PHP konstant

Definiera konstant โ€“ en konstant รคr en variabel vars vรคrde inte kan รคndras under kรถrning.

Anta att vi utvecklarping ett program som anvรคnder vรคrdet fรถr PI 3.14. Vi kan anvรคnda en konstant fรถr att lagra dess vรคrde.

Lรฅt oss nu titta pรฅ ett exempel som definierar en konstant.

<?php
define('PI', 3.14); // creates a constant with a value of 3.14
echo PI;
?>

Nรคr du vรคl definierar PI som 3.14, kommer kod som PI = 4; att generera ett fel, eftersom PI har definierats som en konstant och det dรคrfรถr inte รคr tillรฅtet att tilldela den ett vรคrde.

PHP Operatorer

Aritmetiska operatorer

Aritmetiska operatorer anvรคnds fรถr att utfรถra aritmetiska operationer pรฅ numeriska data. Konkateneringsoperatorn arbetar pรฅ strรคng vรคrden ocksรฅ. PHP stรถder fรถljande operatรถrer.

Operator Namn BESKRIVNING Exempelvis Produktion
+ Dessutom Summering av x och y 1 + 1; 2
- Subtraction Skillnaden mellan x och y 1 - 1; 0
* Multiplikation Multiplicerar x och y 3 * 7; 21
/ division Kvotient av x och y 45/5; 9
% PHP-modul Ger resten av divisionen av x och y 10 % 3; 1
-n negation Omvandlar n till ett negativt tal -(-5); 5
x . y sammanlรคnkning Sรคtter ihop x och y "PHP". โ€ROCKSโ€;10 . 3; PHP ROCKS103

Uppdrag Operatorer

Tilldelningsoperatorer anvรคnds fรถr att tilldela vรคrden till variabler. De kan ocksรฅ anvรคndas tillsammans med aritmetiska operatorer.

Operator Namn BESKRIVNING Exempelvis Produktion
x = y Uppdraget Tilldelar vรคrdet av y till x $ x = 5; 5
x += y Dessutom ร–kar vรคrdet pรฅ x med y $x = 2;$x += 1; 3
x -= y nedantraction Subtracts y frรฅn vรคrdet av x $x = 3; $x -= 2; 1
x *= y multiplikation Multiplicerar vรคrdet av x, y gรฅnger $x = 0;$x *= 9; 0
x /= y delning Kvotient av x och y $x = 6;$x /= 3; 2
x %= y modul Resten av att dividera x med y $x = 3;$x %= 2; 1
x = y sammanfoga Sรคtter ihop fรถremรฅl $x = 'Snyggt';$x .= 'Coolt!'; Ganska cool!

Jรคmfรถrelseoperatรถrer

Jรคmfรถrelseoperatorer anvรคnds fรถr att jรคmfรถra vรคrden och datatyper.

Operator Namn BESKRIVNING Exempelvis Produktion
x == y Lika Jรคmfรถr x och y, och returnerar sedan sant om de รคr lika 1 == โ€œ1โ€; Sant eller 1
x === y identiska Jรคmfรถr bรฅde vรคrden och datatyper. 1 === โ€œ1โ€; Falskt eller 0, eftersom 1 รคr ett heltal och "1" รคr en strรคng
x != y, x <> y PHP Inte lika Jรคmfรถr vรคrdena pรฅ x och y, returnerar sant om vรคrdena inte รคr lika 2 != 1; Sant eller 1
x > y Stรถrre รคn Jรคmfรถr vรคrdena pรฅ x och y, returnerar sant om x รคr stรถrre รคn y 3 > 1; Sant eller 1
x < y Less รคn Jรคmfรถr vรคrdena pรฅ x och y, returnerar sant om x รคr mindre รคn y 2 < 1; Falskt eller 0
x >= y Stรถrre รคn eller lika med Jรคmfรถr vรคrdena pรฅ x och y, returnerar sant om x รคr stรถrre รคn eller lika med y 1 >= 1 Sant eller 1
x <= y Less รคn eller lika Jรคmfรถr vรคrdena pรฅ x och y, returnerar sant om x รคr mindre รคn eller lika med y 8 <= 6 Falskt eller 0

logiska operatorer

Nรคr du arbetar med logiska operatorer utvรคrderas alla tal som รคr stรถrre รคn eller mindre รคn noll (0) till sant. Noll (0) utvรคrderas till falskt.

Operator Namn BESKRIVNING Exempelvis Produktion
x och y, x och y Och Returnerar sant om bรฅde x och y รคr sanna 1 och 4;Sant && Falskt; Sant eller 1False eller 0
x eller y, x || y Or Returnerar sant om antingen x eller y รคr sant 6 eller 9;0 || 0; Sant eller 1False eller 0
x x eller y Exklusiv eller, xor Returnerar sant om endast x รคr sant eller endast y รคr sant 1 xor 1; 1 xor 0; Falskt eller 0Sant eller 1
!x Inte Returnerar sant om x รคr falskt och falskt om x รคr sant !0; Sant eller 1

Vanliga frรฅgor

PHP har รฅtta datatyper: fyra skalรคra typer (heltal, flyttal, strรคng, boolesk), tvรฅ sammansatta typer (array och objekt) och tvรฅ specialtyper (NULL och resource). Handledningen fokuserar pรฅ de fyra skalรคra typerna.

Operatorn == jรคmfรถr endast vรคrden efter att typer har konverterats, sรฅ 1 == โ€œ1โ€ รคr sant. Operatorn === jรคmfรถr vรคrde och datatyp, sรฅ 1 === โ€œ1โ€ รคr falskt eftersom ett รคr ett heltal och ett รคr en strรคng.

Typjonglering รคr PHP som automatiskt konverterar ett vรคrde frรฅn en typ till en annan under en operation eller lรถs jรคmfรถrelse. Det รคr bekvรคmt men kan ge รถverraskande resultat, vilket รคr anledningen till att strikt jรคmfรถrelse med === รคr sรคkrare.

Ja. AI kan skanna jรคmfรถrelser fรถr riskfylld lรถs likhet, fรถreslรฅ att man byter till === eller explicita tolkningar, och fรถrklara varfรถr ett vรคrde utvรคrderas som sant eller falskt, helping fรถrhindra subtila logiska fel.

Ja. AI kan visa hur PHP utvรคrderar ett uttryck steg fรถr steg, fรถrtydliga vilka operatorer som binder fรถrst och rekommendera parenteser fรถr att gรถra den avsedda ordningen tydlig och koden lรคttare att lรคsa.

Sammanfatta detta inlรคgg med: