آموزش PHP : کار با رشته ها

0
آموزش PHP 7

همانطور که در بخش مربوط به انواع داده در PHP نیز به آن اشاره کردیم، String یا رشته مجموعه ای از کارکتر هاست. مثلا عبارت “سلام دنیا!” یک رشته است. در ادامه این بخش، به تعدادی از توابع مخصوص به کار با رشته ها در PHP میپردازیم. البته بدیهی است که توابع مخصوص کار با رشته ها در پی اچ پی بسیار زیاد بوده وهر یک کاربرد خاص خود را دارند. بنابراین امکان پرداختن به همه ی آنها در این آموزش میسر نخواهد بود. اما در پایان این بخش از آموزش، برای کسانی که مایلند با کلیه ی این توابع آشنایی پیدا کنند، لینک صفحه مربوط به این توابع در سایت رسمی php را قرار خواهیم داد.

آشنایی با برخی توابع مخصوص کار با رشته ها در PHP

تشخیص طول رشته در PHP

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

خروجی کد بالا 12 خواهد بود. توجه داشته باشید که تابع strlen() در پی اچ پی برای سنجش طول عبارات فارسی مناسب نیست. مثلا اگر در مثال بالا میخواستیم با این تابع طول عبارت “سلام دنیا!” را پیدا کنیم، تابع مقدار 18 را به ما باز میگرداند که طبعا صحیح نیست. بنابراین برای سنجش طول رشته های فارسی بهتر است از تابع mb_strlen() استفاده کنید. مانند مثال زیر :

شمارش تعداد کلمات در یک رشته در PHP

برای شمارش تعداد کلمات یک رشته در پی اچ پی از تابع str_word_count() استفاده میکنیم. مانند مثال زیر :

نتیجه اجرای کد بالا عدد 2 خواهد بود. درست مانند تابع قبلی، این تابع هم برای شمارش کلمات در رشته های فارسی به درستی کار نمیکند. مثلا اگر همین کد را برای شمارش کلمات در عبارت “سلام دنیا!” به کار بگیرید، نتیجه ی بازگردانده شده معادل 0 خواهد بود. به همین جهت برای شمارش تعداد کلمات در رشته های فارسی لازم است از کد زیر استفاده کنید :

معکوس کردن رشته در PHP

برای معکوس کردن یک رشته در پی اچ پی از تابع strrev() استفاده میکنیم. مانند کد زیر :

خروجی این کد عبارت “!dlrow olleH” خواهد بود. مجددا کد بالا نیز برای رشته های فارسی به درستی کار نمیکند. برای رشته های فارسی میتوانید از کد زیر استفاده کنید :

کد بالا به درستی عبارت “!ایند مالس” را در خروجی به نمایش خواهد گذاشت.

جستجو به دنبال متن خاص در یک رشته در PHP

برای یافتن عبارتی در یک رشته، از تابع strpos() استفاده میکنیم. اگر تابع بتواند نتیجه ای پیدا کند، موقعیت اولین نتیجه را باز میگرداند و اگر چیزی پیدا نکند، خروجی آن معادل FALSE خواهد بود. در مثال زیر در رشته ی “Hello World!” به دنبال کلمه ی World گشته ایم :

نتیجه ی اجرای کد بالا عدد 6 خواهد بود. حال اگر میخواستیم در یک رشته ی فارسی جستجو کنیم میبایست از کد زیر و تابع mb_strpos() استفاده میکردیم :

جایگزینی متن در رشته در PHP

برای جایگزین کردن بخشی از یک رشته با رشته ی دلخواه دیگر از تابع str_replace() استفاده میکنیم. مانند کد زیر :

تقسیم رشته به آرایه در PHP

برای تبدیل اجزای یک رشته به یک آرایه از تابع explode() استفاده میکنیم. سینتکس این تابع به شکل زیر است :

explode(separator,string,limit)

پارامتر اول یعنی separator معادل جداکننده ی دلخواه ما، string رشته ی مورد نظر ما و limit محدودیت تعداد عناصر آرایه را مشخص میکند. تعیین مقدار limit اختیاری است.

تابع explode() در بسیاری از مواقع بسیار کاربردی است. مثلا فرض کنید میخواهیم لیستی از آیتم ها را که با ویرگول از هم جدا شده اند، تبدیل به آرایه کنیم. در این حالت میتوانیم از کد زیر استفاده کنیم :

خروجی کد بالا به صورت زیر است :

Array ( [0] => dog [1] => cat [2] => zebra [3] => horse [4] => emu [5] => ostrich )

برای بازگردانی این آرایه به حالت رشته میتوانیم از تابع implode() استفاده کنیم.

محاسبه هش MD5 رشته در PHP

تابع md5() جهت تبدیل یک عبارت به هش MD5 به کار میرود. در کد زیر کلمه ی Hello را هش کرده ایم :

از این تابع میتوانید جهت هش کردن رمز های عبور پیش از ذخیره ی آنها در دیتابیس استفاده کنید تا از ذخیره ی رمز به حالت متنی واضح جلوگیری شود.

جدا کردن بخشی از یک رشته در PHP

برای جدا کردن بخشی از یک رشته میتوانید از تابع substr() استفاده کنید.سینتکس استفاده از این تابع به صورت زیر است :

substr(string,start,length)

در این تابع تعیین مقدار length یا طول رشته الزامی نیست و اگر آن را مشخص نکنید، از محل مشخص شده تا انتهای رشته بازگردانده میشود. برای یافتن محل شروع عبارت دلخواه و طول آن میتوانید از دو تابع strpos و strlen که پیش تر در رابطه با آنها صحبت کردیم، استفاده کنید. مثال زیر، کلمه ی World را در خروجی به نمایش در می آورد :

آشنایی با دیگر توابع مخصوص کار با رشته ها در PHP

همانطور که در ابتدا نیز اشاره کردیم، توابع مخصوص به کار با رشته ها در پی اچ پی به موارد معدودی که در بالا ذکر شد، خلاصه نمیشوند. برای آشنایی با سایر توابع کار را رشته در پی اچ پی میتوانید روی اینجا کلیک کرده و در وبسایت رسمی پی اچ پی با آنها آشنایی پیدا کنید.

مطالعه بخش بعدی : ثابت ها در PHP

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.