Explode و  implode دو تابع پر کاربرد برای کار با رشته ها و آرایه ها هستند.

ضروری است که با آنها آشنا شویم و بفهمیم دقیقا چطور کار می کنند.

تابع explode

این تابع یک رشته را میگیرد و به آرایه تبدیل می کند. مثلا من این چنین رشته ای دارم.داخل یک متغیری به نام string.

explode

حالا تابع explode را صدا می زنم

<?php
$string = " این یک متن آزمایشی است";

$arr = explode(" ",$string);

var_dump($arr);

 

این تابع دو پارامتر می گیرد

کاراکتر جدا کننده : مثلا من می خواهم فاصله(space) کاراکتر جدا کننده باشد یعنی هر جا فاصله داشتیم تا قبل از آن جدا شده و درون آرایه قرار بگیرد.

 رشته ای که قرار است به آرایه تبدیل شود

بعد از چاپ نتیجه، رشته به آرایه تبدیل شده است.

explode

تابع implode

Implode ذقیقا برعکس explode عمل می کند

از یک آرایه رشته می سازد

اینجا هم دو پارامتر یکی کاراکتر جدا کننده که البته اختیاری است می توانید این را قرار ندهید و کلمات همینطوری پشت سر هم بدون هیچ کاراکتری قرار می گیرند

و پارامتر دوم هم خود آرایه است.

<?php
$arr= array("تبدیل","آرایه","به","رشته");
$string=implode(" ",$arr);
echo $string;

من از فاصله به عنوان جدا کننده استفاده می کنم.

یک آرایه در تابع arr ذخیره شده بعد تابع implode را صدا می کنیم در آخر هم نتیجه را با تابع echo نمایش می دهیم.

implode

 

یک کاربرد مهم این دو تابع در ذخیره سازی چند مقدار مختلف در یک فیلد دیتابیس است. مثلا تگ ها یا دسته بندی های یک پست را در نظر بگیرید.

اطلاعات هر پست در یک رکورد دیتابیس ذخیره می شود و هر پستی می تواند دسته بندی های مختلف داشته باشد. این دسته بندی ها را می توان به صورت یک رشته با جداکننده کاما درون فیلد دیتابیس قرار داد برای اینکار از تابع implode استفاده می کنیم.

برای خارج کردن دسته بندی ها  از دیتابیس و نمایش جداگانه آنها هم باید از explode استفاده کنیم.