...:::Programozz kedvedre!:::...
Men
 
HTML
 
PHP
 
A vltozk

A vltozk

A PHP-ban leggyakrabban a vltozkkal dolgozunk. Ezeket egy-egy nll memria cellaknt kell elkpzelni, aminek megadhatjuk a nevt, a kezdeti tartalmt (rtkt), a PHP futsa kzben pedig a klnbz utastsok eredmnyekppen ezt a kezdeti rtket fogjuk mdostani.
A vltozkat mindig a neve el rt dollrjellel $ jelljk, a nevt pedig tetszs szerint vlaszthatjuk. A vltozk nevben csak az angol abc betit (valamint az ASCII 127-255 kztti kd karaktereket), vagy szmokat hasznlhatunk, de a vltoznv mindig betvel kezddjn.

<?php
  $valtozom = "valami szveg";
?>

A vltoznevek kis/nagybet rzkenyek, teht $valtoz nem ugyanaz, mint $Valtozo.

Tancs:
Br a PHP nyelvtana nem rja el, a vltozkkal vgzett mveletek eltt azokat ajnlott defnilni, azaz megadni a kiindul rtkt s tpust.

fel...

Dinamikus vltozk

Ez eddig simn ment, ideje, hogy egy kicsit megcifrzzuk.

Eddig egy konkrt rtket rendeltnk egy vltozhoz. Nha azonban szksgnk van arra, hogy a vltoz nevt is dinamikusan llthassuk be. Ezt az albbi mdon tehetjk meg:

<?php

$a = "szeretem ";
$$a = "a php nyelvet";
print ($a . $ {$a});

?>

Ezt az eredmnyt kapjuk (3/2. plda).

Hasonl eredmny kaphatunk mskppen is:

<?php

$felhasznalo = "Valaki";
$tarolo = "felhasznalo";
print ($$tarolo);   // a $tarolo -ban a "felhasznalo" nev vltoz rtke kerlt.

?>

Ennek a kdnak az eredmnyt a fenti dem kvetkez pldjban talljuk (3/3. plda).

fel...

Hivatkozs vltozra

Beletehetjk az $egyik_valtozo rtkt a $masik_valtozo-ba is. Ilyenkor a $masik_valtozo rtknek a msolata kerl az $egyik_valtozo -ra, mai a program tovbbi futsa sorn nem vltozik magtl.

<?php

$egyik_valtozo = "valaki";
$masik_valtozo = $egyik_valtozo;
print ($masik_valtozo);   // kirja: "Valaki"

$egyik_valtozo = "akrki";
print $masik_valtozo;   // ez nem vltozott, kirja: "Valaki"

?>

Nzd meg mkds kzben (3/4. plda).

Elfordulhat, hogy azt akarjuk, a $masik_valtozo rtke ksbb is mdosuljon, amikor az $egyik_valtozo rtke mdosul. Ilyenkor nem az $egyik_valtozo rtkt helyezzk bele a $masik_valtozo-ba egyszer, hanem csak hivatkozunk r:

<?php


$egyik_valtozo = "Valaki";
$masik_valtozo = &$egyik_valtozo;
print ($masik_valtozo);   // kirja: "Valaki"

$egyik_valtozo = "Akrki";   // megvltozik az $egyik_valtozo rtke
print ($masik_valtozo);   // most mr megvltozik a $masik_valtozo is: "Akrki"

?>

gy mkdik (3/5. plda).

fel...

A vltozk tpusai

A vltozkba behelyezett adatoknak tbbfle tpusa lehet:

A fentiek kzl a string, integer, float s a boolean skalris vltoztpusok (skalris = amit nem lehet kisebb darabokra bontani). A PHP tmogatja mg a nem skalris array s object tpusokat is.

Az adatok tpust azok definilsakor a programoz hatrozza meg. A PHP az adattpusokat rugalmasan hasznlja, azaz futsidben talaktja a krnyezettl fggen szksges tpusra.

Adatunk rvnyes tpust a getType() beptett fggvny segtsgvel krdezhetjk le s a setType() fggvnnyel mdosthatjuk. Adatainkat az albbi mdon is meghatrozhatjuk/mdosthatjuk:

  • (int), vagy (integer) - egssz konvertl
  • (bool), (boolean) - logikai rtkk konvertl
  • (real), (double), (float) - lebegpontos szmm konvertl
  • (array) - tmbb konvertl
  • (object) - objektumm konvertl

Pldul gy:

<?php

$szam = "123";               // ez most 'string' tpus
print GetType($szam);        // kirja, hogy 'string' tpus

print GetType((int)$szam);   // kirja, hogy 'integer' tpus

print GetType($szam);        // ismt 'string'-nek ltja
// teht a vltoz tpusa nem vltozott, csak a felhasznls helyn alaktottuk t.

?>
<?php

$szam = "123";               // ez most 'string' tpus
print GetType($szam);        // kirja, hogy 'string' tpus

SetType($szam, "integer");   // most meg is vltoztatjuk a tpust

print GetType($szam);        // kirja, hogy 'integer' tpus

?>

J tudni:
rlapbl kapott vltozk mindig 'string' tpusak - akkor is, ha csak szmot tartalmaznak.

fel...

Vltozk rvnyessge

A mr egyszer meghatrozott (definilt) vltoznkat a kd futsa sorn ksbb is brhol elrhetjk - mindig az aktulis rtkvel. Ez all a szably all a fggvnyek kpeznek csak kivtelt. Fggvnyeken bell csak a fggvny paramtereiknt beadott vltozk, valamint az ott definilt vltozk rhetk el. A fggvnyen kvlrl csak az gynevezett globlis s szupergloblis (a PHP v4.x-tl) vltozk rhetk el.

<?php

$valtozom = "Valaki";

function fuggvenyem()
   {
   print $valtozom;
   // nem r ki semmit, mert nem ltja ezt a vltozt a fggvnybl.

   print $_SERVER["REMOTE_ADDR"];
   // a $_SERVER[] egy szupergloblis tmb, mindenhol elrhet - ezt kirja
   }

?>

A fggvnyekkel ksbb tbbet is foglalkozunk.

fel...

Elre definilt vltozk

A PHP szmos elre definilt vltozt knl, amiben a futsidben ltrejtt krnyezet egyes jellenmzi vannak meghatrozva. Ezek az albbi tmbkbl rhetk el:

  • $GLOBALS -
  • $_SERVER, vagy $HTTP_SERVER_VARS - a webszerver ltal belltott vltozk
  • $_GET, vagy $HTTP_GET_VARS - HTTP GET krs ltal ltrejv vltozk.
  • $_POST, vagy $HTTP_POST_VARS - HTTP POST krs ltal ltrejv vltozk.
  • $_COOKIE, vagy $HTTP_COOKIE_VARS - HTTP stikbl (cookie) szrmaz vltozk.
  • $_FILES, vagy $HTTP_POST_FILES - a fjlfeltlts ltal ltrejv vltozk.
  • $_ENV, vagy $HTTP_ENV_VARS - a krnyezetbl szrmaz vltozk.
  • $_REQUEST - a HTTP GET, POST s COOKIE bementekbl szrmaz vltozk sszessge.
  • $_SESSION, vagy $HTTP_SESSION_VARS - a munkamenethez tartoz vltozk.

Ezek mind globlis (pl: $HTTP_SERVER_VARS) s szupergloblis (pl: $_SERVER) vltozk.
A szupergloblis vltozk a PHP 4.x verzitl lteznek, innen a rgebbi globlis meghatrozs mg rvnyes, de hasznlatuk mr nem ajnlott.

Ennyi a vltozkrl - pihenskppen a kvetkez fejezet a PHP llandirl rvidebb lesz.

neve (en) neve (hu) lersa
string karaktersor szvegek kirsra hasznljuk, tartalmazhat brmilyen karaktert - bett, szmot, rsjelet. A szveget mindig egyszeres, vagy dupla idzjelek kz kell tenni!
Plda: $a = "valami szveg";
integer egsz szm rtke csak pozitv, vagy negatv egsz szm lehet.
Plda: $a = 12;
float lebegpontos szm tizedesszmokat rhatunk le vele. Tizedesjelknt mindig pontot kell hasznlni!
Plda: $a = 12.99;
boolean logikai rtk rtke lehet igaz (TRUE), vagy hamis (FALSE)
Plda: $a = TRUE;
array tmb egy egymshoz rendelt adatcsomag kzs neve. Bvebben lsd a tmbkrl szl rszben.
Plda: $a = array(18, 156, "valami");
object objektum
 

Bejelentkezs
Felhasznlnv:

Jelsz:
SgSg
Regisztrci
Elfelejtettem a jelszt
 
XHTML
 
Linkek

Freewebsite
Programozs.lap.hu
Webmester.lap.hu

 

* Beugrós munkavállalók éjjel-nappal. * Beugrós munkavállalók éjjel-nappal. * Beugrós munkavállalók éjjel-nappal. *    *****    Elindult a Játék határok nélkül rajongói oldal! Ha te is szeretted a '90-es évek népszerû mûsorát, nézz be ide!    *****    Megjelent a Nintendo Switch 2 és a Mario Kart World! Ennek örömére megújítottam a Hungarian Super Mario Fan Club oldalt.    *****    Homlokzati hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168    *****    A PlayStation 3 átmeneti fiaskója után a PlayStation 4 ismét sikersztori volt. Ha kíváncsi vagy a történetére, katt ide!    *****    A Bakuten!! az egyik leginkább alulértékelt sportanime. Egyedi, mégis csodálatos alkotásról van szó. Itt olvashatsz róla    *****    A PlayStation 3-ra jelentõsen felborultak az erõviszonyok a konzolpiacon. Ha érdekel a PS3 története, akkor kattints ide    *****    Új mese a Mesetárban! Téged is vár, gyere bátran! Mese, mese, meskete - ha nem hiszed, nézz bele!    *****    Az Anya, ha mûvész - Beszélgetés Hernádi Judittal és lányával, Tarján Zsófival - 2025.05.08-án 18:00 -Corinthia Budapest    *****    &#10024; Egy receptes gyûjtemény, ahol a lélek is helyet kapott &#8211; ismerd meg a &#8222;Megóvlak&#8221; címû írást!    *****    Hímes tojás, nyuszipár, téged vár a Mesetár! Kukkants be hozzánk!    *****    Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168    *****    Nagyon ütõs volt a Nintendo Switch 2 Direct! Elemzést a látottakról pedig itt olvashatsz!    *****    Elkészítem születési horoszkópod és ajándék 3 éves elõrejelzésed. Utána szóban minden kérdésedet megbeszéljük! Kattints    *****    Könyves oldal - egy jó könyv, elrepít bárhová - Könyves oldal    *****    20 éve jelent meg a Nintendo DS! Emlékezzünk meg ról, hisz olyan sok szép perccel ajándékozott meg minket a játékaival!    *****    Ha érdekelnek az animék,mangák,videojátékok, japán és holland nyelv és kultúra, akkor látogass el a személyes oldalamra.    *****    Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    Könyves oldal - Ágica Könyvtára - ahol megnézheted milyen könyveim vannak, miket olvasok, mik a terveim...    *****    Megtörtént Bûnügyekkel foglalkozó oldal - magyar és külföldi esetek.