A php alapok

Page 1

PHP alapok


A PHP története A PHP első változatát, amely néhány webalkalmazáskészítést segítő makrót tartalmazott Rasmus Lerdorf készítette 1994-ben. Ezen eszközöket együttesen a Personal Home Page Tools névvel azonosították. Gyakran: Hypertext Preprocessor  Az Apache (jelenleg a legnépszerűbb kiszolgáló a világon)és MySQL-támogatás megerősítette a PHP pozícióját. Az Apache-hoz a PHP 3.0 már modulként illeszthető volt  A MySQL igen hatékony, ráadásul ingyenes SQL adatbázisrendszer, amelyhez a PHP átfogó támogatást nyújt  Jelenleg a PHP 5.4.14 verziónál tart, az aktuális támogatási információkat a www.php.net oldalon lehet megtalálni 


PHP kód írása     

PHP kódot mindig a következő módokon kezdhetjük ill. zárhatjuk: Hagyományos: <?php … ?> Rövid: <? … ?> Script elem: <SCRIPT LANGUAGE="PHP"> … </SCRIPT> Erősen ajánlott a hagyományos mód használata!


Változók 

A változók különleges tárolók, amikben értéket helyezünk el A változók egy dollárjelből ($) és egy tetszőlegesen választott névből tevődnek össze. A név betűket, számokat és aláhúzás karaktereket (_) tartalmazhat (számmal azonban nem kezdődhet!).


Szóközöket és más olyan karaktereket, amelyek nem számok vagy betűk, nem.  Íme néhány érvényes változónév: $a; $egy_hosszabb_valtozonev; $elalszom_zzzzzzzzzzzzzz; 


A változók adatokat , számokat, karakterláncokat, objektumokat, tömböket vagy logikai értékeket tárolnak.  Tartalmuk bármikor módosítható, de: HATÓKÖR!  Létrehozáskor általában rögtön értéket is szoktunk adni a változónak (PHP:gyengén típusos nyelv): $szam1 = 8; $szam2 = ”23”;  A karakterláncokat mindig (egyes vagy kettős) idézőjelbe kell tenni. (”…”, ’…’) 


Kiíró parancs a PHP-ben 

kiiratás: echo(), vagy print():

echo ”Helló világ!”;

print("szöveg, amit ki szeretnénk írni"); print "szöveg, amit ki szeretnénk írni";


PHP-vel nemcsak látható szöveget írhatunk ki az eredmény oldalra, de HTML kódot is. A következő két kódrészlet eredménye ugyanaz:


<HTML> <BODY> <?php print "valami"; ?> </BODY> </HTML>

<HTML> <?php print "<BODY>"; print "valami"; print "</BODY>"; ?> </HTML>


Változók kiiratása <?php $szam = 15; $szoveg = ”valami”; ?> <?php print $szoveg ?> A fenti kód eredménye: valami


<?php $eletkor = 23; print "Én most $eletkor éves vagyok.”; ?> A fenti kód eredménye: "Én most 23 éves vagyok."


Szövegrészek és változók összefűzése

A PHP-ben a szövegösszefűzés (konkatenáció) jele: . <?php print "Én most" . " 23 éves" . " vagyok.”; ?> 


Szövegrészeket és különböző típusú változókat nyugodtan összefűzhetünk, az eredmény mindig szöveges típusú lesz: <?php $eletkor = 23; $szoveg = "éves"; print "Én most". $eletkor. $szoveg." vagyok."; ?>


Konstansok   

Olyan változó, aminek az értéke állandó :) define("a","alma"); A define parancs az első paraméterként megadott névvel létrehozza a konstanst, és a második paraméterként megadott értéket rendeli hozzá. A define parancs bárhol használható, a definiált konstansok pedig globális hatókörűek, azaz mindenhol, így a függvények belsejében is elérhetők.


Megjegyzések A PHP egysoros megjegyzései: //megjegyzés #megjegyzés 

A többsoros megjegyzések :(/*)megjegyzés (*/)

Kommentezés!


Típusok Típus

Leírás

Példa

integer

egész szám

12

double

lebegőpontos szám (valós szám)

9.967

string

szöveg vagy karakterlánc

"Hello"

boolean

logikai (értéke igaz/true vagy hamis/false)

true

array

tömb

később

object

objektum

később


* A változó típusának vizsgálata és módosítása 

A változó típusának meghatározására: gettype() függvény:

<?php $proba=3.14; print "A(z) '$proba' típusa: "; print gettype($proba); //kiírja, hogy double ?>


settype() <?php settype($proba,"string"); //karakterlánccá alakítja print "A(z) '$proba' típusa: "; print gettype($proba); //kiírja, hogy string ?>


settype() 

<? settype($proba,"integer"); //egésszé alakítja print "A(z) '$proba' típusa: "; //kiírja, hogy A(z) '3' típusa: print gettype($proba); //kiírja, hogy integer ?>


Kifejezések

A kifejezés a függvények, értékek és operátorok (műveletjelek) olyan együttese, amely értéket határoz meg. Általánosságban azt mondhatjuk, hogy ha értékként használhatunk valamit, akkor az kifejezés.


Operátorok 

Az operátor (műveletjel): jel vagy jelsorozat, amelyet értékek összekapcsolására használunk

Operátorral valamilyen műveletet végezhetünk, amely általában új értéket eredményez

Általában: operandus operátor operandus


Hozzárendelő operátor: = 

A $kor = 29; utasítás a baloldali változóhoz a jobb oldal értékét rendeli.

Egy utasításban több hozzárendelő operátort is használhatunk: $szam=$kor=29;


Összehasonlító operátorok: == != === !== < > <= >= 

Az összehasonlító operátorok két értéket hasonlítanak össze, és hibákhoz vezethetnek a PHP automatikus típuskonverziója miatt. A hamis logikai érték és a 0 megkülönböztetésére alkalmasak a === vagy a !== operátorok, ugyanis a == ezen értékeknél nem a várt eredményt adja.


Összehasonlító operátorok: == != === !== < > <= >= Operátor

Jelentés

Igaz

Hamis

==

egyenlő érték

4==4

3==4

!=

nem egyenlő érték

3!=4

4!=4

===

egyenlő érték és egyező típus

0===0

0===false

!==

nem egyenlő érték vagy nem egyező típus

0!==false

0!==0

<

kisebb

3<4

6<4

>

nagyobb

5>4

5>7

<=

kisebb vagy egyenlő

4<=4

5<=4

>=

nagyobb vagy egyenlő

9>=3

6>=8


Aritmetikai operátorok: + - * / %     

+: összeadás -: kivonás *: szorzás /: osztás %: maradékos osztás (modulo) -> A maradékos osztást két lebegőpontos számmal is elvégzi úgy, hogy elhagyja a tizedesjegyeket. A maradékos osztás eredménye mindig egész.


Sztringoperátorok: . .=

Két sztring összefűzéséhez használható a . operátor, míg egy sztring végéhez egy másikat a .= operátorral lehet csatolni. $szin="piros"." "."kék"; //$szin="piros kék" $szin.=" lila"; //$szin="piros kék lila" 


Növelő/csökkentő operátorok: ++ --

A ++ (inkrementálás) és -- (dekrementálás) operátorok egyaránt írhatók változók elé (prefix) és mögé (postfix) pl.:


Egyéb hozzárendelő operátorok: += -= *= /= %= 

Ezek szintén az egyszerűbb leírást segítik. Például: a $szam += 4 utasítás egyenértékű a $szam=$szam+4 utasítással, a $szam *= 4 utasítás pedig a $szam=$szam*4 utasítással.


Logikai operátorok: ! && || and xor 

or

A logikai operátorok logikai értékeken végeznek műveleteket. A következő táblázat a lehetséges logikai műveleteket mutatja be.


Operátor

Név

Igaz, ha

Példa

Eredmény

||

vagy

a bal vagy a jobb operandus igaz

true || false

true

or

vagy

a bal vagy a jobb operandus igaz

true or false

true

xor

kizáró vagy

vagy a bal, vagy a jobb operandus igaz, de csak az egyikük

true xor true

false

&&

és

a bal és a jobb operandus is igaz

true && false

false

and

és

a bal és a jobb operandus is igaz

true and false

false

!

tagadás

az egyetlen operandus hamis

!true

false


* Bináris operátorok: & | ^ ~ << >> 

A bitenkénti és (&) eredményében azokon a helyeken lesz 1-es, ahol mindkét operandusban 1es volt. Így az 1-es és a 2-es bitenkénti és-e 0. A bitenkénti vagy (|) eredményében azokon a helyeken lesz 1-es, ahol legalább az egyik operandusban 1-es volt, azaz az 1-es és 2-es esetében az eredmény a bináris 11 lesz, ami 3-at ér.


* 

A bitenkénti xor (^) eredményében azokon a helyeken lesz 1-es, ahol a két operandus közül az egyikben és csakis az egyikben 1-es volt. Az 1 ^ 2 szintén a 3-at adja. A bitenkénti tagadás (~) az összes bitet invertálja, azaz ahol 1-es volt, ott 0 lesz, és fordítva.


* 

a jobbra tolás (>>) és a balra tolás (<<). Ezek az operátorok meghatározott értékkel eltolják a biteket a megfelelő irányba. Ha a $szam változó értéke 3, akkor a $szam>>=1; utasítás hatására a $szam értéke 1 lesz (a bináris 11-et 1-gyel jobbra tolva a bináris 01-et kapjuk). Ha pedig a $szam<<=2; utasítást nézzük, akkor a $szam a 12vel lesz egyenlő (az 11-ből az 1100-át kapjuk).


* Hivatkozás operátor: & 

A hivatkozás operátort változónév elé kell tenni. Ha a $szam változó értéke 4, és kiadjuk a $sz=&$szam; utasítást, akkor a $sz változó ugyanarra a memóriacímre fog mutatni, mint a $szam, szükségképpen az értéke is meg fog egyezni a $szam változó értékével, azaz 4 lesz.


* Hibaellenőrző operátor: @ A @ operátor elrejti a függvények és különböző kifejezések hibáit, ami néhány weboldalon hasznos lehet, hiszen a hibaüzenetek általában a felhasználóknak nem mondanak semmit. A hibaellenőrző operátort a függvénynév elé kell tenni.


Vezérlési szerkezetek

Szekvencia Szelekció Iteráció


Szekvencia  

Az utasítások végére ; -t kell tenni. Az utasításokat célszerű külön sorba írni, de ez nem kötelező. Az utasítások tagolt, strukturált elhelyezése igen erősen ajánlott. {…} közé írt utasítások egy utasítás blokkot jelentenek.


Egyágú elágazás 

Az if szerkezet alakja: if (kifejezés) { utasítás; // Ha a kifejezés igaz, // akkor az utasítás végrehajtódik. } Ha a kifejezés logikai értéke igaz, akkor a zárójelpárok által meghatározott blokk végrehajtódik. A két zárójel elhagyható, ha a blokk egyetlen utasításból áll.


1.pl. 

<?php $szam=2; if ($szam==2) { print "A szám értéke 2"; } //kiírja, hogy A szám értéke 2 ?>


Kétágú elágazás 

Az if-else szerkezet alakja: if (kifejezés) { utasítás1; // Ha a kifejezés igaz, // akkor az utasítás1 hajtódik végre. } else { utasítás2; // különben az utasítás2 hajtódik végre. }


2.pl. <?php $szam=2; print "A szĂĄm: $szam<br>"; if ($szam!=0) { print "A szĂĄm reciproka: "; print 1/$szam; } else { print "Nincs reciproka!"; } //kiĂ­rja, hogy 0.5 ?>


Többágú elágazás 

Többágú elágazást létrehozhatunk az előbbi kétágú elágazások egymásba ágyazásával, vagy az elseif kulcsszó használatával, továbbá a switch utasítással


elseif szerkezet 

Az if-elseif-else szerkezet alakja: if (kifejezés) { utasítás; } elseif (kifejezés) { utasítás; } else { utasítás; }


Pl.: <?php $hom=120; print "A víz hőmérséklete: $hom °C<br>Halmazállapota: "; if ($hom<0) { print "szilárd"; } elseif ($hom<100) { print "folyékony"; } else { print "gáz"; } //kiírja, hogy gáz ?>


switch utasítás switch ( kifejezés ) { case érték1: u1; // ez történjen, ha kifejezés értéke érték1 break; case érték2: u2; // ez történjen, ha kifejezés értéke érték2 break; default: ud; // ez történjen, ha a kifejezés értéke // egyik felsorolt értékkel sem egyezett meg break; // az ördög nem alszik, jobban járunk, ha kitesszük }


Pl.: <?php $hangulat = "szomorú"; switch ( $hangulat ) { case "boldog": print "Hurrá, jó kedvem van!"; break; case "szomorú": print "Szomorú vagyok."; break; default: print "Sem boldog, sem szomorú nem vagyok, hanem $hangulat."; } ?>


Előltesztelő ciklus while ( feltétel ) { // valamilyen tevékenység } /*Lehet, hogy egyszer sem fut le a ciklus mag*/


Pl.: <?php $szamlalo = 1; while ( $szamlalo <= 6 ) { print "$szamlalo kétszerese ".($szamlalo*2)."<br>"; $szamlalo++; } /* Kiírja a számokat 1-től 6-ig illetve a számok kétszeresét. */ ?>


Hátultesztelős ciklus do { // végrehajtandó tevékenység } while ( feltétel ); /*Egyszer mindenképpen lefut a ciklus mag*/


Pl.: <?php $szam = 1; do { print "Végrehajtások száma: $szam<br>\n"; $szam++; } while ( $szam > 200 && $szam < 400 ); /* Csak egyszer fut le; Kiírja a szöveget és az 1 számot. */ ?>


Számlálós ciklus for ( változó_hozzárendelése; feltétel; számláló_növelése) { // a végrehajtandó tevékenységek }


A számlálós ciklus egy speciális előltesztelős ciklus (megfeleltetésük) for ( változó_hozzárendelése; változó_hozzárendelése; feltétel; while ( feltétel ) számláló_növelése) { { /* a végrehajtandó /* a végrehajtandó tevékenységek */ tevékenységek */ számláló_növelése; } }


Pl.: <?php for ( $szamlalo = 1; $szamlalo <= 6; $szamlalo++ ) { print "$szamlalo kétszerese ".( $szamlalo * 2)."<br>"; } /* Kiírja a számokat 1-től 6-ig illetve a számok kétszeresét. */ ?>


Függvények function fuggveny_nev($parameter1, $parameter2) { // itt van a függvény törzse } /* Ha a függvény paramétereket igényel, a zárójelbe vesszővel elválasztott változókat kell tenni. A változók értékei a függvényhíváskor átadott paraméterek lesznek. A zárójelpárt akkor is ki kell írni, ha a függvény nem vesz át paramétereket. */


Pl.: <?php function nagyHello() { print "<h1>HELLO!</h1>"; } nagyHello(); ?>


Pl.: <?php function sorKiir( $sor ) { print ("$sor<br>\n"); } sorKiir("Ez egy sor"); sorKiir("Ez már egy másik sor"); sorKiir("Ez megint egy új sor"); ?>


Függvény visszatérési értéke 

A függvényeknek visszatérési értéke is lehet, ehhez a return utasításra van szükség. A return befejezi a függvény futtatását és az utána írt kifejezést küldi vissza a hívónak.


Pl.: <?php function osszead( $elsoszam, $masodikszam ) { $eredmeny = $elsoszam + $masodikszam; return $eredmeny; } print osszead(3,5); // kiĂ­rja, hogy "8" ?>


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.