Mi a string?
A string betűk, számok, speciális karakterek és/vagy aritmetikai értékek sorozata. Mielőtt azonban használni tudnánk a stringeket, létre is kell hoznunk őket. Ezt úgy tehetjük meg a legkönnyebben, ha a tartalmukat aposztrófok (') közé helyezzük, valahogy így:
$my_string = 'Helló Világ';
A string létrehozásakor idézőjelet is használhatunk ("). Azt azonban szem előtt kell tartani, hogy az aposztrófok és az idézőjelek nem teljesen egyformán működnek. Azokat a stringeket, amelyek aposztróffal vannak megjelölve, szó szerint értelmezi a rendszer. Az idézőjellel jelöltek esetében a változók az értékeikkel lesznek helyettesítve, az úgynevezett escape szekvenciák (feloldó szekvenciák vagy vezérlősorozatok) pedig specifikusan lesznek értelmezve.
Az escape szekvenciák helyettesítései a következők:
Nézzünk erre egy példát:
<?php
$my_str = 'Világ';
echo "Helló, $my_str!<br>"; // Eredmény: HellóVilág!
echo 'Helló, $my_str!<br>'; // Eredmény: Helló, $my_str!
echo '<pre>HellótVilág!</pre>'; // Eredmény: HellótVilág!
echo "<pre>HellótVilág!</pre>"; // Eredmény: HellóVilág!
?>
Ahogy azt észrevehetted, a stringeket használhatjuk közvetlenül a funkcióban, de változóként is elmenthetjük őket. Nézzünk erre is egy példát:
$my_string = "A stringekről tanulok!";
echo "A stringekről tanulok!";
echo $my_string;
Példánkban az első stringet a $my_string változó tartalmazza, a második sorban pedig a string közvetlenül az echo parancsba kerül, és nincs tárolva. Ne felejtsd el elmenteni a stringet egy változóba, ha többször tervezed használni! Ezzel nemcsak időt takarítasz meg, de a saját munkádat is jelentősen megkönnyítheted!
PHP-string heredoc
A fent említett két módszer a stringek létrehozására a legtöbb programnyelvben megállja a helyét. A PHP azonban egy sokkal robusztusabb eszközt is kínál. Ez a heredoc, mely lehetővé teszi a programozók számára a többsoros stringek létrehozását, idézőjelek és aposztrófok használata nélkül. A heredoc alkalmazása azonban nehezebb, és számos problémához vezethet, ha nem megfelelően írtuk meg a kódot. A kezdő programozók ugyan általában kerülik ezt a megoldást, de a bátrabbak megpróbálkozhatnak vele:
$my_string = <<<TEST
PHP
Leckék kezdőknek!
Tanulj velünk!
TEST;
echo $my_string;
Megfigyelhetjük, hogy a heredoc néhány nagyon fontos dologban tér el az eddig bemutatott módszerektől. A heredoc a <<< jelsorozattal és egy szabadon választott azonosítóval kezdődik. Példánkban az azonosító a TEST. Az azonosítót egy pontosvesszővel kiegészítve tudjuk bezárni a stringet.
Még egy fontos dolgot kell megemlíteni a fenti példával kapcsolatban — ha megjelenítjük ezt a stringet a weboldalon, nem fog több sorra törni, mert nem használtunk <br /> címkéket! Ugye nem felejtetted el a <br /> címkéket?
A PHP-stringek manipulálása
A PHP-nek számos olyan beépített funkciója van, amelynek segítségével manipulálni tudjuk a stringeket — ilyen a string hosszának kiszámítása, az alstringek és a karakterek megtalálása, a string egy bizonyos részének kicserélése stb.
A string hosszának kiszámítása
A stringen belül található karakterek számának kiszámítására a strlen() funkciót használjuk. Fontos kiemelni, hogy a szóközöket is számolja a stringen belül.
<?php
$my_str = 'Welcome to my page';
// Eredmény: 18
echo strlen($my_str);
?>
A string szavainak megszámlálása
A str_word_count() funkció megszámolja, hány szó található egy stringen belül.
<?php
$my_str = 'Programozni tanulok.';
// Eredmény: 2
echo str_word_count($my_str);
?>
Szócsere a stringen belül
A str_replace() lecseréli a szót egy másikra minden olyan helyen, ahol az a szó szerepel a stringben.
<?php
$my_str = 'Ha az állítások nem illenek az elméletbe, az állítások meg kell változzanak.';
// Csere
str_replace("állítások", "igazságok", $my_str, $count);
// Mutasd ki a cserék számát
echo "A szöveg $count alkalommal lett lecserélve.";
?>
A string megfordítása
<?php
$my_str = 'Hello!';
// Fordított string
echo strrev($my_str);
?>
Keresés a stringben
A PHP strpos() funkció rákeres egy meghatározott szövegre a stringen belül. Ha talál megegyezést, a funkció kimutatja, melyik karakterpozíción található az első megegyezés. Ha nincs találat, a FALSE értesítést kapjuk.
<?php
echo strpos("Hello World!", "World"); // Eredmény: 6
?>
Összegzés:
Mai leckénkben megismerkedtünk a stringekkel, megtanultuk, hogyan lehet őket létrehozni, és megismerkedtünk a legfontosabb funkciókkal. Természetesen számos más funkció is létezik, de ha az alapokkal megbarátkoztál, ezeket önállóan is meg tudod ismerni!