Tartalomjegyzék

< PHP

PHP a HTML kódban

Helló Világ

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Helló Világ</title>
</head>
<body>
 
<?php  echo "Helló Világ!"; ?>        
 
</body>
</html>

Megjegyzés

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Helló Világ</title>
</head>
<body>
 
<?php  
// egy soros megjegyzés
echo "Helló Világ!"; 
/* több
soros
megjegyzés*/
 
?>        
 
</body>
</html>

Kiírás

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
 
echo "alma<br>";
print "körte<br>";
printf("barack<br>");
 
?>
 
</body>
</html>

A printf() csak függvényként van megvalósítva, ezért csak zárójellel használható.

Ha kiíratáskor karaktersorozat helyett egy kifejezést írok, annak eredménye kiíródik a képernyőre.

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
echo 3+4;
?>
 
</body>
</html>

Escape szekvenciák

Ha kiíratok egy szöveget, mint például a „arany teve”, akkor minden betű egyszerűen megjelenik. Az egyes karaktereknek ilyenkor nincs semmilyen speciális jelentése.

Azonban speciális jelentéssel lehet felruházni egyes karaktereket a „\” karakter segítségével. Az „arany teve” szövegben tegyük ezt meg az „n” betűvel. A „\” karakter egyszerűen elé kell írni. Írassuk ki:

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
echo "ara\ny teve";
?>
 
</body>
</html>

Az „n” betű speciális jelentést kap, így nem is jelenik meg. Helyette egy sortörés jelenik meg. Ha a böngészőben megnézzük, mégsem látszik semmi, csak egy szóköz az „n” betű helyén. Ez természetes, hiszen egy HTML oldalon a sortörést egy „<br>” elemmel kell megvalósítani. A „\n” hatására a sortörés a HTML oldal forráskódjában jelenik meg. Nézzük meg, például egy Ctrl+U billentyűkombinációval.

Ugyanígy speciális jelentést adhatunk a „t” karakternek is.

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
echo "arany \teve";
?>
 
</body>
</html>

Ha megnézzük a weblap forráskódjában, akkor most egy tabulátort fogunk látni.

Nem minden karakterhez tartozik speciális jelentés. A következő táblázat a speciális jelentéssel felruházható karaktereket mutatja.

Szekvencia Jelentés
\n új sor (LF vagy 0x0A (10) az ASCII táblában)
\r kocsi vissza (CR vagy 0x0D (13) az ASCII táblában)
\t vízszintes tabulátor (HT vagy 0x09 (9) az ASCII táblában)
\v függőleges tabulátor (VT vagy 0x0B (11) az ASCII táblában) (PHP 5.2.5 verziótól)
\e escape (ESC vagy 0x1B (27) az ASCII táblában) (PHP 5.4.0 verziótól)
\f lapdobás (FF vagy 0x0C (12) az ASCII táblában) (PHP 5.2.5 verziótól)
\\ visszaper jel
\$ dollárjel
\" idézőjel
\[0-7]{1,3} megegyezik a szabályos kifejezésekben szereplő oktális jelzéssel
\x[0-9A-Fa-f]{1,2} megegyezik a szabályos kifejezésekben szereplő hexadecimális jelzéssel

Változóhasználat

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
$szam = 45;
echo $szam;
?>
 
</body>
</html>

Formázott kimenet

A printf() segítségével formázott kimenet hozható létre, de használhatjuk egyszerű kiíratásra.

A következő program, egyszerűen a képernyőre íjra a $szam változó tartalmát.

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
$szam = 45;
printf("%d", $szam);
?>
 
</body>
</html>

A „%d” szövegben a % jel és a d betű alkotja a formátumkódot. A formátumkódot mindig „%” jel karakterrel kezdjük és valamilyen formátumkarakterrel fejezzük be. Formátumkarakter több is lehet, d, f, c, s stb. A formátumkarakter mindig attól függ mit szeretnénk kiíratni. Egész számok esetén a „d” betűt használjuk. Valós számok esetén az „f” betűt.

A következő táblázat segít áttekinteni a formátumkaraktereket.

%% Százalékjelet ír
%b Bináris szám
%c Egy ASCII érték karakter megfelelője
%d Előjeles decimális szám
%e Tudományos alak (pl.: 1.2e+2)
%u Előjel nélküli decimális szám
%f Lebegőpontos szám (a helyi beállításokat figyelembe veszi)
%F Lebegőpontos szám (a helyi beállításokat nem veszi figyelembe)
%o Oktális szám
%s String
%x Hexadecimális szám (kisbetűs)
%X Hexadecimális szám (nagybetűs)

Matematikai függvények

Többféle matematikai függvény álla rendelkezésünkre. Például abs(), sin, cos(), sqrt(), pow(), round(), floor(), ceil() stb.

Például 4 a 2-dik hatványon:

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
//hatványozás:
echo pow(4, 2);
?>
 
</body>
</html>

Véletlen szám

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
//véletlen szám
echo rand(1, 6);
?>
 
</body>
</html>

Bekérés

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<?php
echo $_GET['szam'] * 2;
?>
 
</body>
</html>

Böngészőbe a következő írjuk:

http://localhost:8000/index.php?szam=35

A localhost:8000-t cseréljük saját elérésünkre. Az index.php után viszont írtunk egy kérdőjelet, jelezve, hogy most paraméter következik. A paraméter esetünkben:

szam=35

Önmagát hívó script

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<form method="get">
<label>Szám</label>
<input type="text" name="szam">
<br>
<button type="submit">Számol</button>
</form>
 
<?php
echo $_GET['szam'] * 2;
?>
 
</body>
</html>

Szelekció

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<p>
 
<?php 
$szam = 45;
if ($szam > 100) { 
?>
Nagy szám
 
<?php
}else {
?>
 
Normál szám
 
<?php
}
?>
 
 
 
</p>
 
</body>
</html>

Iteráció

Számok 0-9-ig:

index.php
<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="utf-8">
    <title>Kiírás</title>
</head>
<body>
 
<ul>
<?php
for ($i=0; $i < 10; $i++) { ?>
<li>
<?php echo $i; ?>
</li>
 
<?php } ?>
</ul>
 
</body>
</html>