home 2024. április 24., György napja
Online előfizetés
A PHP-stringek
Erdsoft
2019.02.20.
LXXIV. évf. 7. szám
A PHP-stringek

A PHP-echo paranccsal foglalkozó cikkünkben már említettük a stringek (karakterláncok) fogalmát, de nem magyaráztuk el őket részletesebben. PHP-programozói karriered során sokat találkozol majd a stringekkel, ezért fontos, hogy megismerkedj velük.

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 – soremelés
  • r – carriage-return
  • t – vízszintes tabulátor
  • $ – dollárjel ($)
  • " – idézőjel (")
  • \ – backslash karakter ()
     

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 fenti kód eredménye a következő lenne:
A szöveg 2 alkalommal lett kicserélve.

 

A string megfordítása

A strrev() funkció megfordítja a stringet.
<?php
$my_str = 'Hello!';
 
// Fordított string
echo strrev($my_str);
?>
Az eredmény:
!olleH
 

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!

 


NYEREMÉNYJÁTÉK!
Rovatunk elsődleges célja, hogy közelebbről is bemutassa a legismertebb webtechnológiákat. Azok között az olvasók között, akik minden héten követik rovatunkat, azaz velünk tanulják a programozás alapjait és kitöltik a feladatsort, a sorozat végén egy laptopot sorsolunk ki.

A játék heti kérdése:
Melyik funkcióval tudunk lecserélni egy szót egy másikra?

1. str_word_count()
2. str_replace()
3. strlen()

A választ a tanulok@erdsoft.com e-mail-címre kell elküldeni, a tárgysorba pedig
a következőt kell beírni: HÉTNAP-TANULOK. Sok szerencsét!
 

 

Néhány szó rólunk:

Az ErdSoft (www.erdsoft.com) 2011-ben alakult meg. Csapatunkat a fiatalos lendület, a szakértelem, a folyamatos tanulás és tapasztalatgyűjtés jellemzi. Ügyfeleinknek igyekszünk teljes körű szolgáltatást nyújtani — bátran fordulhatnak hozzánk, legyen szó webfejlesztésről, alkalmazásokról, SEO-optimalizálásról, grafikai tervezésről, marketingről vagy szövegírásról. Csapatunk sikerét mi sem bizonyítja jobban, mint a több száz elkészült weboldal és a számos elégedett ügyfél Szerbiában, Magyarországon és az Egyesült Királyságban.

Hozzászólások
Hozzászólások
0
Hozzászólás küldése
1000 karakter áll rendelkezésére
A megjegyzésekben kifejtett vélemények a hozzászólások szerzőinek magánvéleményei, és nem tükrözik az internetes portál véleményét. A megjegyzéseket moderáljuk és jóváhagyjuk az általános szerződési feltételeknek megfelelően.
Támogatóink
Az oldal sütiket használ, hogy személyre szabjuk a tartalmakat és reklámokat, hogy működjenek a közösségi média funkciók, valamint hogy elemezzük a weboldal forgalmát. Bővebben a "Beállítások" gombra kattintva olvashat.
Az oldal sütiket használ, hogy személyre szabja az oldalon megjelenő tartalmat és reklámokat..