آموزش توابع explode و implode در php

  • خانه
  • آموزش توابع explode و implode در php
Image تحقیقات

آموزش توابع explode و implode در php

با سلام و درود

مقاله امروز درباره استفاده از تابع های  explode و implode در آموزش php می باشد  .

قبل از اینکه به مثال ها بپردازیم یک مروری بر گذشته ی این توابع  می کنیم . همانطور که می دانید زبان جاوا اسکریپت (JavaScript)  برای تغییر رشته ها تابعی به نام Split دارد که گفته می شود تابع Split ای که در زبان php موجود هست برگرفته از جاوا اسکریپت می باشد . البته از ورژن php 5.3 به بعد تابع Split به کل از رده خارج شده و در ورژن ۷ کامل حذف شده است . پس شما باید به جای این تابع از تابع explode استفاده نمایید .

همانند تابع split در جاوا اسکریپت , تابع explode یک رشته را دریافت می کند و بر اساس یک جدا کننده (delimiter) این رشته را به قسمت های مختلف تقسیم کرده و داخل خانه های آرایه قرار می دهد  .

array explode ( string $delimiter , string $string [, int $limit ] )

زمانی که در رشته ی شما  اون علامت جدا کننده (delimiter) یافت شد  همه چیز در string (رشته ) تا آن نقطه  ,  در اولین element آرایه  قرار میگیرد.در ادامه باز به دنبال اون علامت جدا کننده (delimiter) در رشته می گردد و وقتی پیدا شد قسمت بعدی متن را در خانه ی دوم آرایه قرار می دهد و این فرایند تا انتهای رشته ادامه پیدا می کند .

برای مثال این function برای استفاده از یک لیست که با کاما جداسازی شده میتواند خیلی مفید باشد.

مثال :

$string = "apple, banana, pineapple, grape, orange";

حالا ما می توانیم رشته ی بالا را به صوررت لیستی در آرایه ای به نام fruits ذخیره نماییم :

آرایه ی ما به این شکل در می آید  :

در مثال بالا تابعexplode  هر نمونه از “, ” را در رشته جستجو و پیدا می کند و سپس متن قبل از آن را داخل خانه ای از آرایه ذخیره می نماید

همچنین explode میتواند مثل ابزار خط فرمان linux بنام grep به منظور پیدا کردن چیزهای مشخص در string توسط تجزیه اجزایی که مورد استفاده نیستند استفاده شود از سوی دیگر implode به صورت بر عکس عمل میکند.یعنی یک آرایه میگیرد و آن را براساس یک علامت جدا کننده (delimiter)  آن را به رشته تبدیل میکند.

string implode ( string $glue , array $pieces )

ترکیب دو تابع explode و implode برای دستکاری و تغییر داده ها بسیار خوب عمل می کند . در مثال های قبلی ما یک رشته را که کلمه های داخل آن با استفاده از کاما جداسازی شده بود داخل یک آرایه ذخیره کردیم . حالا می خواهیم با استفاده از تابع implode خانه های این آرایه را با استفاده از یک جداکننده به نام Pipe داخل یک رشته ذخیره نماییم  .

برای انجام این کار فقط کافی هست تابعimplode را صدا زده و علامت | را به عنوان مقدار جداکننده معرفی نماییم :

$fruitString = implode("|", $fruit);

خروجی رشته ی بالا :

"apple|banana|pineapple|grape|orange"

دو تابع Explode و  Implode از توابع قدرتمندی هستند که استفاده ی به موقع از آنها باعث می شود وقت زیادی را برای شما صرفه جویی کنن  همچنین تعداد خطوط کمتر و جلوگیری از حلقه های غیر لازم از دیگر فواید این توابع می باشد .

خب حالا من   شمارا ترک خواهم کرد ک خودتآن آن را تجربه کنید  . 

موفق و پیروز باشید