PHP-datatyper, variabler, konstanter Operatorer

โšก Smart opsummering

PHP-datatyper, variabler og Operators danner fundamentet for ethvert PHP-script. Denne gennemgang forklarer, hvordan PHP udleder heltal-, float-, streng- og boolske typer, hvordan variabler lagrer data, hvordan type casting fungerer, og hvordan aritmetiske, tildelings-, sammenlignings- og logiske operatorer opererer.

  • ๐Ÿ”ฃ Lรธs Typing: PHP er lรธst typebestemt, sรฅ den udleder en variabels datatype fra den tildelte vรฆrdi i stedet for en eksplicit deklaration.
  • ๐Ÿงฑ Kernetyper: De vigtigste skalartyper er heltal, flydende tal, streng og boolesk, som hver isรฆr detekteres automatisk under kรธrsel.
  • ๐Ÿ“ฆ Variabler: En variabel er en navngiven hukommelsesplacering, hvis omfang, globalt eller lokalt, bestemmer, hvor den er synlig i scriptet.
  • ๐Ÿ” Type stรธbning: Casting konverterer en vรฆrdi til en anden type, enten implicit af fortolkeren eller eksplicit med syntaks som (int).
  • ๐Ÿ“Œ Konstanter: En konstant defineret med define() har en fast vรฆrdi, sรฅsom PI, der ikke kan รฆndres, mens scriptet kรธrer.
  • โž• Operators: Aritmetiske, tildelings-, sammenlignings- og logiske operatorer manipulerer og sammenligner vรฆrdier, hvor === ogsรฅ kontrollerer datatypen.
  • ๐Ÿค– AI Assist: AI-vรฆrktรธjer kan forklare jonglering med PHP-typer, markere risikable, lรธse sammenligninger og tydeliggรธre operatorprรฆcedens med hurtige eksempler.

PHP-datatyper, variabler og Operatorer

PHP datatyper

En datatype er klassificeringen af โ€‹โ€‹data i en kategori i henhold til dens attributter:

  • Alfanumeriske tegn klassificeres som strenge
  • Hele tal klassificeres som heltal
  • Numbers med decimaler klassificeres som flydende kommaer.
  • Sande eller falske vรฆrdier klassificeres som boolske.

PHP er et lรธst typebaseret sprog; det har ikke eksplicit definerede datatyper. PHP bestemmer datatyperne ved at analysere attributterne for de leverede data. PHP understรธtter implicit fรธlgende datatyper:

  • Heltal โ€“ hele tal f.eks. -3, 0, 69. Den maksimale vรฆrdi af et heltal er platformafhรฆngig. Pรฅ en 32-bit maskine er den normalt omkring 2 milliarder. 64-bit maskiner har normalt stรธrre vรฆrdier. Konstanten PHP_INT_MAX bruges til at bestemme den maksimale vรฆrdi.
<?php
echo PHP_INT_MAX;
?>

Output:

9223372036854775807
  • Flydende kommatal โ€“ decimaltal f.eks. 3.14. De er ogsรฅ kendt som dobbelttal eller reelle tal. Den maksimale vรฆrdi af et flydende tal er platformafhรฆngig. Flydende kommatal er stรธrre end heltal.
  • Karakterstreng โ€“ fx Hello World
  • Boolean โ€“ fx Sand eller falsk.

Fรธr vi gรฅr mere i detaljer med PHP-datatyper, lad os fรธrst diskutere variabler.

PHP-variabel

En variabel er et navn givet til en hukommelsesplacering, der gemmer data under kรธrsel.

Omfanget af en variabel bestemmer dens synlighed.

En global PHP-variabel er tilgรฆngelig for alle scripts i en applikation.

En lokal variabel er kun tilgรฆngelig for det script, den blev defineret i.

Tรฆnk pรฅ en variabel som et glas med vand. Du kan tilsรฆtte vand i glasset, drikke det hele, fylde det op igen osv. Det samme gรฆlder for variabler.

Variabler bruges til at gemme data og levere de lagrede data, nรฅr det er nรธdvendigt. Ligesom i andre programmeringssprog understรธtter PHP ogsรฅ variabler. Lad os nu se pรฅ de regler, der fรธlges, nรฅr man opretter variabler i PHP.

  • Alle variabelnavne skal starte med dollartegnet, f.eks.
  • PHP-variabel
  • Variablenavne skelner mellem store og smรฅ bogstaver; det betyder, at $my_var er forskellig fra $MY_VAR
  • PHP-variabel
  • Alle variabelnavne skal starte med et bogstav efterfulgt af andre tegn, f.eks. $my_var1. $1my_var er ikke et lovligt variabelnavn.
  • PHP-variabel
  • Variabelnavne mรฅ ikke indeholde mellemrum. "$first name" er ikke et lovligt variabelnavn. Du kan i stedet bruge et understregningstegn i stedet for mellemrummet, f.eks. $first_name. Du kan ikke bruge tegn som dollar- eller minustegnet til at adskille variabelnavne.
  • PHP-variabel

Lad os nu se pรฅ, hvordan PHP bestemmer datatypen afhรฆngigt af attributterne for de leverede data.

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

Output:

1

Flydende kommatal

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

Output:

3.14

Karakterstrenge

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

Output:

Hypertext Pre Processor

Brug af variabler

Variabler hjรฆlper med at adskille data fra programalgoritmerne.

Den samme algoritme kan bruges til forskellige inputdatavรฆrdier.

For eksempel, antag at du er udvikletping et lommeregnerprogram, der lรฆgger to tal sammen. Du kan oprette to variabler, der accepterer tallene, og derefter bruger du variabelnavnene i det udtryk, der udfรธrer additionen.

Variabel type stรธbning

Udfรธrelse af aritmetiske beregninger ved hjรฆlp af variable i et sprog som f.eks C# krรฆver, at variablerne er af samme datatype.

Typecasting er at konvertere en variabel eller vรฆrdi til en รธnsket datatype.

Dette er meget nyttigt, nรฅr du udfรธrer aritmetiske beregninger, der krรฆver, at variabler er af samme datatype.

Typecasting i PHP udfรธres af tolken.

Pรฅ andre sprog, sรฅsom C#, skal du caste variablerne. Koden nedenfor viser type casting i C#.

Variabel type stรธbning

Diagrammet nedenfor viser PHP, der implementerer ovenstรฅende eksempel.

Variabel type stรธbning

PHP tillader dig ogsรฅ at caste datatypen. Dette kaldes eksplicit casting. Koden nedenfor demonstrerer eksplicit type casting.

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

Output:

2

Ovenstรฅende kode giver 2 output. Funktionen var_dump bruges til at bestemme datatypen. Koden nedenfor demonstrerer, hvordan man bruger 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);
?>

Output:

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

PHP konstant

Definer konstant โ€“ en konstant er en variabel, hvis vรฆrdi ikke kan รฆndres under kรธrsel.

Antag, at vi er udvikledeping et program, der bruger vรฆrdien af โ€‹โ€‹PI 3.14. Vi kan bruge en konstant til at gemme dens vรฆrdi.

Lad os nu se pรฅ et eksempel, der definerer en konstant.

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

Nรฅr du definerer PI som 3.14, vil det generere en fejl at skrive kode som PI = 4;, fordi PI er defineret som en konstant, og det derfor ikke er tilladt at tildele den en vรฆrdi.

PHP Operatorer

Aritmetiske operatorer

Aritmetiske operatorer bruges til at udfรธre aritmetiske operationer pรฅ numeriske data. Sammenkรฆdningsoperatoren fungerer pรฅ streng vรฆrdier ogsรฅ. PHP understรธtter fรธlgende operatรธrer.

OperaTor Navn Beskrivelse Eksempel Produktion
+ Tilsรฆtning Summation af x og y 1 + 1; 2
- Undertraction Forskellen mellem x og y 1 - 1; 0
* Multiplikation Multiplicerer x og y 3 * 7; 21
/ Afdeling Kvotient af x og y 45/5; 9
% PHP modul Giver resten af โ€‹โ€‹divisionen af โ€‹โ€‹x og y 10 % 3; 1
-n negationen Gรธr n til et negativt tal -(-5); 5
x . y sammenkรฆdning Sรฆtter x og y sammen "PHP". โ€ROCKSโ€;10 . 3; PHP ROCKS103

Opgave Operatorer

Tildelingsoperatorer bruges til at tildele vรฆrdier til variabler. De kan ogsรฅ bruges sammen med aritmetiske operatorer.

OperaTor Navn Beskrivelse Eksempel Produktion
x = y Opgaven Tildeler vรฆrdien af โ€‹โ€‹y til x $ x = 5; 5
x += y Desuden ร˜ger vรฆrdien af โ€‹โ€‹x med y $x = 2;$x += 1; 3
x -= y nedenfortraction Undertracts y fra vรฆrdien af โ€‹โ€‹x $x = 3; $x -= 2; 1
x *= y multiplikation Ganger vรฆrdien af โ€‹โ€‹x, y med $x = 0;$x *= 9; 0
x /= y division Kvotient af x og y $x = 6;$x /= 3; 2
x %= y modulus Resten af โ€‹โ€‹at dividere x med y $x = 3;$x %= 2; 1
x = y sammenkรฆde Sรฆtter ting sammen $x = 'Pรฆn';$x .= 'Sej!'; Ret cool!

Sammenligningsoperatรธrer

Sammenligningsoperatorer bruges til at sammenligne vรฆrdier og datatyper.

OperaTor Navn Beskrivelse Eksempel Produktion
x == y Ens Sammenligner x og y, og returnerer derefter sand, hvis de er ens 1 == โ€œ1โ€; Sandt eller 1
x === y identisk Sammenligner bรฅde vรฆrdier og datatyper. 1 === โ€œ1โ€; Falsk eller 0, da 1 er et heltal og "1" er en streng
x != y, x <> y PHP Ikke ens Sammenligner vรฆrdierne af x og y, returnerer sand hvis vรฆrdierne ikke er ens 2 != 1; Sandt eller 1
x > y Stรธrre end Sammenligner vรฆrdierne af x og y, returnerer sand hvis x er stรธrre end y 3 > 1; Sandt eller 1
x < y Less end Sammenligner vรฆrdierne af x og y, returnerer sand hvis x er mindre end y 2 < 1; Falsk eller 0
x >= y Stรธrre end eller lig Sammenligner vรฆrdierne af x og y, returnerer sand hvis x er stรธrre end eller lig med y 1 >= 1 Sandt eller 1
x <= y Less end eller lig Sammenligner vรฆrdierne af x og y, returnerer sand hvis x er mindre end eller lig med y 8 <= 6 Falsk eller 0

logiske operatorer

Nรฅr du arbejder med logiske operatorer, evalueres ethvert tal stรธrre end eller mindre end nul (0) til sandt. Nul (0) evalueres til falsk.

OperaTor Navn Beskrivelse Eksempel Produktion
x og y, x og y og Returnerer sandt, hvis bรฅde x og y er sande 1 og 4; Sandt & Falsk; Sandt eller 1 Falsk eller 0
x eller y, x || y Or Returnerer sand, hvis enten x eller y er sand 6 eller 9;0 || 0; Sandt eller 1 Falsk eller 0
x x eller y Eksklusiv eller, xor Returnerer sand, hvis kun x er sand, eller kun y er sand 1 xor 1; 1 xor 0; Falsk eller 0True eller 1
!x Ikke Returnerer sand, hvis x er falsk og falsk, hvis x er sand !0; Sandt eller 1

Ofte Stillede Spรธrgsmรฅl

PHP har otte datatyper: fire skalรฆre typer (heltal, float, streng, boolsk), to sammensatte typer (array og objekt) og to specialtyper (NULL og resource). Vejledningen fokuserer pรฅ de fire skalรฆre typer.

Operatoren == sammenligner kun vรฆrdier efter konvertering af typer, sรฅ 1 == โ€œ1โ€ er sand. Operatoren === sammenligner vรฆrdi og datatype, sรฅ 1 === โ€œ1โ€ er falsk, fordi รฉn er et heltal og รฉn er en streng.

Typejonglering er PHP, der automatisk konverterer en vรฆrdi fra รฉn type til en anden under en operation eller lรธs sammenligning. Det er praktisk, men kan give overraskende resultater, hvilket er grunden til, at en streng sammenligning med === er sikrere.

Ja. AI kan scanne sammenligninger for risikabel lรธs lighed, foreslรฅ at skifte til === eller eksplicitte casts og forklare, hvorfor en vรฆrdi evalueres som sand eller falsk.ping forhindre subtile logiske fejl.

Ja. AI kan vise, hvordan PHP evaluerer et udtryk trin for trin, prรฆcisere hvilke operatorer der bindes fรธrst, og anbefale parenteser for at gรธre den tilsigtede rรฆkkefรธlge eksplicit og koden lettere at lรฆse.

Opsummer dette indlรฆg med: