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!
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.
Heti kérdés:
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.