Explode و implode دو تابع پر کاربرد برای کار با رشته ها و آرایه ها هستند.
ضروری است که با آنها آشنا شویم و بفهمیم دقیقا چطور کار می کنند.
تابع explode
این تابع یک رشته را میگیرد و به آرایه تبدیل می کند. مثلا من این چنین رشته ای دارم.داخل یک متغیری به نام string.
حالا تابع explode را صدا می زنم
<?php $string = " این یک متن آزمایشی است"; $arr = explode(" ",$string); var_dump($arr);
این تابع دو پارامتر می گیرد
کاراکتر جدا کننده : مثلا من می خواهم فاصله(space) کاراکتر جدا کننده باشد یعنی هر جا فاصله داشتیم تا قبل از آن جدا شده و درون آرایه قرار بگیرد.
رشته ای که قرار است به آرایه تبدیل شود
بعد از چاپ نتیجه، رشته به آرایه تبدیل شده است.
تابع implode
Implode ذقیقا برعکس explode عمل می کند
از یک آرایه رشته می سازد
اینجا هم دو پارامتر یکی کاراکتر جدا کننده که البته اختیاری است می توانید این را قرار ندهید و کلمات همینطوری پشت سر هم بدون هیچ کاراکتری قرار می گیرند
و پارامتر دوم هم خود آرایه است.
<?php $arr= array("تبدیل","آرایه","به","رشته"); $string=implode(" ",$arr); echo $string;
من از فاصله به عنوان جدا کننده استفاده می کنم.
یک آرایه در تابع arr ذخیره شده بعد تابع implode را صدا می کنیم در آخر هم نتیجه را با تابع echo نمایش می دهیم.
یک کاربرد مهم این دو تابع در ذخیره سازی چند مقدار مختلف در یک فیلد دیتابیس است. مثلا تگ ها یا دسته بندی های یک پست را در نظر بگیرید.
اطلاعات هر پست در یک رکورد دیتابیس ذخیره می شود و هر پستی می تواند دسته بندی های مختلف داشته باشد. این دسته بندی ها را می توان به صورت یک رشته با جداکننده کاما درون فیلد دیتابیس قرار داد برای اینکار از تابع implode استفاده می کنیم.
برای خارج کردن دسته بندی ها از دیتابیس و نمایش جداگانه آنها هم باید از explode استفاده کنیم.