A PHP-stringek

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!

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 "Részletek mutatása" gombra olvashat.
Az oldal sütiket használ, hogy személyre szabja az oldalon megjelenő tartalmat és reklámokat.