Üdvözlök minden kedves fórumozót! Úgy döntöttem, hogy egy folytatásos tutorial sorozatot fogok készíteni a PHP: Hypertext Preprocessor nevezetű programozási nyelvről. Az utótag mára már elhanyagolható, ugyanis a PHP kinőtte magát: egyre fejlettebb és fejlettebb. Elértünk oda, hogy szinte minden weboldal tartalmaz PHP-t. Milliós nagyságrendhez igazítható a ma PHP-t futtató weblapok száma. Ezek az adatok már csak a JavaScriptet nem múlják felül. Ha szoktuk a kisebb-nagyobb oldalak forráskódját nézegetni (ajánlott, mert sok dolgot megtudhatunk belőle), akkor láthatjuk, hogy szinte az összes tartalmaz egy
attribútumot, melyből következtethetünk arra, hogy az oldal használ JS scripteket. Az igények növekedésével a JavaScript használata is elengedhetetlen egy modern weblap elkészítéséhez, azonban ebben a tutorialban csak a PHP-val fogunk foglalkozni... A kettes számrendszerrel való számolás, átváltás (például 10-es számrendszerbeli szám átváltása 2-esbe, vagy éppen fordítva) nem sorozatom tényleges része! Ki fogunk rá térni a továbbiakban!!!
Tartalomjegyzék
- A kettes számrendszer
- A memória és típusai
- A \"Hello, világ!\" program
- Beépített adattípusok
- Változók
- Elágazások
- ?: műveletek
- A switch()
A bináris (kettes) számrendszer- A 20. század közepén, pontosabban 1945-ben egy magyar származású, amerikai matematikus, Neumann (
ejtsd.: \'Najman\') János kidolgozta az úgynevezett \'Neumann-elveket\'. A Neumann-elvek egyikét képezi a bináris számrendszer használata a számítógépeknél. Hogy miért kifizetődő a decimális számrendszerrel ellentétben? Nagyon egyszerű a válasz: egyszerű vele dolgozni, hiszen a decimális számrendszerrel ellentétben nem 10, hanem
CSAK KÉT lehetőség van:
igen vagy
nem (1 vagy 0, yes vagy no).
- Egyszerűbben definiálhatjuk úgy is, hogy
van feszültség, avagy
nincs feszültség (utóbbi primitív példánkat a könnyebb megértés miatt néztük meg).
- A mai számítógépek működése is ezen alapul. Minden karakter kettes számrendszerbeli számok halmaza (pl.:
01010101...)
- Az, hogy egy kettes számrendszerbeli szám pozitív vagy negatív, az ún.
előjelbit határozza meg
A memória1 bájt = 8 bit- A memória a számítógép adatait, valamint utasításait tartalmazza
Fajták:
- RAM (Random Access Memory) // Írható és olvasható memória
- Statikus RAM (SRAM, nem igényel frissítést, olcsóbb, lassabb)
- Dinamikus RAM (DRAM, frissítést igényel, gyorsabb, drágább)
ROM (Read Only Memory) // Csak olvasható memória
- Gyárilag programozható, feszültség után is megőrzi az adatokat
- PROM (A felhasználó által egyszer programozható)
- EPROM (A felhasználó által programozható, UV fénnyel törölhető)
- EEPROM (A felhasználó által programozható, elektromosan törölhető)
- EEPROM-Flash (Írási és olvasási sebességét tekintve hasonlóan működik a RAM-hoz)
Fontos még:- BIOS (Basic Input/Output System)
A \"Hello, világ\" PHP nyelven
PHP nyelven kétféleképpen meg lehet oldani a kiíratást, echo és print függvénnyel. Alapjáratban minden függvénynek (még az érték nélkülieknek is) zárójelpárt kell tartalmazniuk. Az echo és a print utasítások is használhatók zárójellel, hasonlóan a függvényekhez. A Hello, világ stringet (szöveget) idézőjelek vagy aposztrófokkal írathatjuk ki. A lényeges különbség az aposztróf és az idézőjel között, hogy az idézőjel kiértékeli a változókat (miket???! később rájössz!), az aposztróf azonban nem.
Ez is helyes:
echo(\"Hello, világ!\");
echo(\'Hello, világ!\');
és ez is:
echo \"Helló, világ!\";
echo \'Helló, világ!\';
Beépített adattípusok- string (karakter vagy karakterlánc, pl.: $a = \"Szia!\"; )
- integer (egész szám, pl.: $a = 4;)
- float (lebegőpontos szám, pl.: $a = 4.5)
- double (duplapontosságő lebegőpontos szám, pl.: $a = 4.5556
- boolean (logikai érték, pl.: $a = true;
VáltozókA változók tulajdonképpen ideiglenes tárolók, melyekben tárolhatunk karakterláncokat, számokat (float, double, integer), logikai értékeket, tömböket, tömbök elemeit. Változókat
$ jellel tudunk definiálni. A változók neve tartalmazhat betűket, számokat, aláhúzás jelet, viszont számmal a változó neve nem kezdődhet! Elviekben lehetnek a változókban ékezetes karakterek, azonban nem szoktuk használni.
$valtozo = \"Ez egy változó\"; // String
$valtozo = 4; // Int
$valtozo = true; // Bool
$valtozo = 5.6; // Float
Ha kétszer vagy többször definiáljuk a változót különböző értékkel, akkor a legutóbbi definiálás értékét veszi fel, tekintve arra, hogy a PHP interpreter (soronként értelmező).
A PHP megkülönbözteti a kis- és nagybetűket, ezért ezzel vigyázzunk!
Az if-else elágazásA C nyelvhez hasonlóan lehetőségünk van aszerint kiíratni valamit, hogy az milyen értéket vesz fel. Erre szolgál az if-else elágazás.
Pl.:
$valtozo = 34;
if ( $valtozo == 34 )
{
echo \"Létezik a változó, és értéke $valtozo\";
}
else
{
echo \"Nem létezik a változó\"!;
}
Lehetőségünk van további vizsgálatokat hozzárendelni az elseif ág segítségével!
$valtozo = 34;
if ( $valtozo == 34 )
{
echo \"Létezik a változó, és értéke $valtozo\";
}
elseif ( $valtozo == 35 )
{
echo \"Létezik a változó, és értéke $valtozo\";
}
else
{
echo \"Nem létezik a változó\"!;
}
A ?: műveletekAmennyiben nem kívánjuk használni az elseif ágat, úgy lehetőségünk van használni egy rövidített if-else elágazásnak megfelelő műveletsort.
$valtozo = 34;
$tarolo = ( $valtozo == 34 ) ? \"A változó értéke $valtozo\" : \"A változ értéke nem 34, hanem $valtozo\";
echo $tarolo;
Létrehoztunk egy változót, melynek az értéke 34. Ezen felül létrehoztunk egy
$tarolo nevű változót, mely tartalmazza a műveletsort.
A ? (kérdőjel) utáni művelet akkor hajtódik végre, ha az előtte lévő zárójelpárba írt feltétel igaznak bizonyul.Ha a visszatérése false, vagyis üres a változó, a változó értéke 0 (ez lehet stringbe írt 0 is), esetleg az értéke eltér 34-től, akkor a kettőspont után írt művelet hajtódik végre.Természetesen nem muszáj változóban tárolni a műveletet, ki is írathatjuk egyből!
$valtozo = 34;
echo ( $valtozo == 34 ) ? \"A változó értéke $valtozo\" : \"A változó értéke nem 34, hanem $valtozo\";
Ezzel a lehetőséggel egy sorban megoldhatjuk azt, amit a sima if-else elágazással 4-5 sorral oldanánk meg.
A switch \"kapcsoló\"A PHP (a C nyelv mintájára) biztosít számunkra egy switch() \"kapcsolót\", amely megvizsgál egy változót, és annak megfelelően hajt végre valamit.
$nev = \"Géza\";
switch ( $nev )
{
case \"Géza\":
echo \"Szóval a neved $nev!\";
break;
case \"Péter\";
echo \"Szóval a neved $nev\";
break;
case \"Balázs\";
echo \"Szóval a neved $nev\";
break;
case \"Jonatán\";
echo \"Szóval a neved $nev\";
break;
default:
echo \"Nincs ilyen lehetőség\";
break;
}
Definiáltuk a $nev változót, majd a switch() utasítás paramétereként megadtuk a $nev változót. Ezáltal a switch() azt a a változót vizsgálja meg.
case érték: // Egy lehetőséget ad meg. Amennyiben az érték helyére beírt szöveg vagy szám van a változóban, az alá írt utasításokat kapjuk kimenetként.
break; // Amennyiben az adott case igaz, a fordító a
break; utáni sorokat már nem veszi figyelembe! Ha ezt kifelejtjük, akkor a többi sor is végre fog hajtódni!
default: // Akkor hajtódik végre, ha egyik
case se tartalmazza azt, ami a változóban definiálva van.
Természetesen össze lehet vonni az ágakat, és akkor egy lehetőség alkalmával több ág fog végrehajtódni.