A PHP explode és implode funkciói

Ha van egy mondatunk, szétszabdalhatjuk a szóközök " " mentén — így különálló szavakat kapunk, melyek egy tömbben lesznek elmentve. A „Helló, szeretnék valahova elutazni.” mondat így festene az explode funkció alkalmazása után:

1. Helló,

2. szeretnék

3. valahova

4. elutazni.

A szóköz eltűnik, a többi karakter megmarad, de darabokban. Most, hogy van elképzelésed az explode funkció működéséről, lássuk, hogyan működik a gyakorlatban.

Az explode funkció

Az első paraméter, melyet az explode használ, a delimiter, mely mentén széttörjük a második argumentumot, az eredeti stringet. Az explode funkció tehát szétrobbantja a stringet, egy tömbbe gyűjti össze az eredeti string darabjait, és megszámozza őket, nullától kezdve. Fontos megjegyezni, hogy a szeparátor paraméter nem lehet üres string. Az explode funkció szintaxisa így fest:

explode(separator,string,limit)

Vegyünk példának egy telefonszámot, melynek a formátuma ###-###-####, és használjuk a kötőjelet (-) mint elemet, mely mentén széttörjük a stringet három különálló darabra.

$raw_phone_number = '800-555-5555';

$phone_chunks = explode('-', $raw_phone_number);

echo 'Eredeti telefonszám = ' . $raw_phone_number . '<br />';
echo 'Első darab = ' . $phone_chunks[0] . '<br />';
echo 'Második darab = ' . $phone_chunks[1] . '<br />';
echo 'Harmadik darab = ' . $phone_chunks[2];

Megjelenítés a böngészőben:

Eredeti telefonszám = 800-555-5555

Első darab = 800

Második darab = 555

Harmadik darab = 5555

Az explode funkció korlátjának meghatározása

Ha szeretnénk meghatározni, hány darabra hulljon a stringünk, használhatunk egy harmadik (opcionális) paramétert is, mely ezt lehetővé teszi. A megadott szám elérése után a string nem törik több darabra. Nézzük, hogyan robban szét egy string előbb korlátozás nélkül, majd ha megadjuk, hogy csak 4 darabra törhet.

PHP-kód:

$some_words = 'Kérlek ne törj apró darabokra engem.';

$word_chunks = explode(' ', $some_words);

foreach ($word_chunks as $index => $chunk) {
  echo 'Darab ' . $index . ' = ' . $chunk . '<br />';
}

$word_chunks_limited = explode(' ', $some_words, 4);

foreach ($word_chunks_limited as $index => $chunk) {
  echo 'Korlátolt darab ' . $index . ' = ' . $chunk . '<br />';
}

Megjelenítés a böngészőben:

Darab 0 = Kérlek

Darab 1 = ne

Darab 2 = törj

Darab 3 = apró

Darab 4 = darabokra

Darab 5 = engem.

Korlátolt darab 0 = Kérlek

Korlátolt darab 1 = ne

Korlátolt darab 2 = törj

Korlátolt darab 3 = apró darabokra engem.

 

Az implode funkció

Az explode funkcióval szoros kapcsolatban áll az implode funkció, mely az explode „undo” funkciójaként is ismert. Ha egy stringet darabokra törtünk, vagy egyszerűen csak van egy tömbünk, melyet egy stringbe szeretnénk egyesíteni, az implode funkció lesz a segítségünkre.

Az implode első paramétere az a karakterlánc, amelynek segítségével szeretnénk egyesíteni a darabokat. A második paraméter a tömb, azaz a darabok. A funkció úgy is ismert, mint „tömbből string funkció”.

Az implode() funkció tehát stringgé alakítja a tömb elemeit. Fontos megjegyezni, hogy az implode bármilyen sorrendben elfogadja a paramétereket, viszont az explode() funkcióval való konzisztensség érdekében érdemes a dokumentált sorrendet alkalmazni. Az implode funkció szeparátor paramétere opcionális, ám javasolt, hogy amikor csak lehet, használjuk. Az implode funkció szintaxisa a következő:

implode(separator, array)

PHP-kód:

$pieces = array('Helló', 'Világ,', 'én', 'itt', 'vagyok!');

$glued_together_spaces = implode(' ', $pieces);

$glued_together_dashes = implode('-', $pieces);

foreach ($pieces as $index => $piece) {
  echo 'Darab #' . $index . ' = ' . $piece . '<br />';
}

echo 'Szóközökkel összeragasztva = ' . $glued_together_spaces . '<br />';
echo 'Kötőjelekkel összeragasztva = ' . $glued_together_dashes;

Megjelenítés a böngészőben:

Darab #0 = Helló

Darab #1 = Világ,

Darab #2 = én

Darab #3 = itt

Darab #4 = vagyok!

Szóközökkel összeragasztva = Helló Világ, én itt vagyok!

Kötőjelekkel összeragasztva = Helló-Világ,-én-itt-vagyok!

Az implode funkció a tömb minden egyes elemét egy stringgé alakítja, és itt nincs olyan opcionális paraméter, amilyennel az explode funkció esetében találkozhattunk. Az implode funkció másik megnevezése a join() funkció, mely ugyanúgy működik, mint az implode.

Összegzés:

Az implode és az explode két fontos PHP-funkció, melyet a stringeken és a tömbökön tudunk használni. A PHP-nek két beépített funkciója van — implode() és explode() —, melyek segítségével elvégezhetjük ezeket az operációkat. Ahogy az angol megnevezés is sugallja, az implode módszer összekapcsolja a tömb elemeit egy stringgé, és úgy gondolhatunk rá, mint a ragasztóra. Az explode módszer pontosan ennek a fordítottja: egy stringet a delimiter mentén különálló stringekre robbant szét. Következő cikkünkben egy új témakörre térünk rá, és elkalandozunk egy kicsit a haladó PHP világában. Addig is, jó gyakorlást!

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.