تعداد بازدید: 64

رشته ها در PHP

توابع مربوط به رشته ها در php کاربردهای زیادی دارند از جمله ساخت رشته های رمزنگاری شده و همچنین ساخت خلاصه متن و تبدیل آرایه به رشته و بالعکس و تبدیل رشته (Query String) به تعدادی متغیر کاربرد دارد.

اولین تابع جهت چاپ رشته در خروجی استفاده می شود که می تواند در داخل Single Quotation یا Double Qoatation قرار بگیرد.

  • اگر داخل Single Quotation قرار بگیرد قابلیت چاپ متغیر در داخل آن وجود ندارد و برای چاپ متغیر نیاز است آن ها را از طریق . به هم متصل نماییم که . علامت append یا اتصال است.
  • اگر داخل Double Qoatation قرار بگیرد قابلیت چاپ متغیر در آن وجود دارد.
  • در داخل Double Qoatation اگر Single Qoatation قرار بگیرد تفسیر نمی شود و صرف نمایش کاراکتر Double Qoatation است و همچنین بالعکس.
  • اگر داخل Double Qoatation خواستیم کاراکتر Qoatation را نمایش دهیم باید قبل از آن \ قرار دهیم.

نکته : کاراکتر \ در php اگر قبل از کاراکتر های خاصی بیاد معنی خاصی میده :

  • \' : این کاراکتر Single Quotation است
  • \" : این کاراکتر Double Qoatation است.
  • \n : این به معنی new line است.
  • \t : این به معنی tab ( فاصله چند space ) است.

\ کلن بعد از هر علامت کنترلی قرار بگیره اون رو خنثی می کنه  مثلا :

توابع عمومی رشته ها در PHP

strlen : این تابع تعداد کاراکتر های یک رشته را بر می گرداند.

strtoupper : تمامی کاراکتر های رشته را به حروف بزرگ انگلیسی تبدیل می کند.

strtolower : تمامی کاراکتر های رشته را با حروف کوچک نمایش می دهد.

نکته : دو تابع و برای پاکسازی رشته از نظر حروف کوچک و بزرگ جهت مقایسه انجام می گیرد. عملیات مقایسه حساس به حروف کوچک و بزرگ است ، فرض کنید کاربر قراره ایمیل خودش رو وارد کنه و شما اون رو با موردی در پایگاه داده مقایسه کنید . کاربر بر حسب عادت غلط کارکتر اول ایمیلش رو با حروف بزرگ وارد کنه قطعا عملیات مقایسه با مشکل مواجه میشه که برای رفع این مورد نیاز هست که رشته رو ابتدا به حروف کوچک تبدیل کنید.

ord : این تابع کاراکتر را می گیرد و کد اسکی (ascii) مربوط به آن را بر می گرداند.

نکته : اگر به این تابع رشته بدید کد اسکی کاراکتر اول رشته رو بر میگردونه. (مثال بالا)

نکته : این تابع معمولا برای رمزنگاری استفاده می شود . جایی که قراره محتوای رشته رو به طرق مختلف از کاربر مخفی کنیم ، یکی از این راه ها استفاده از این تابع است.

chr : این تابع دقیقا برعکس تابع ord کار می کند یعنی کد اسکی می گیرد و کاراکتر متناظر رو بر می گردونه.

نکته : با تسلط بر کد های اسکی و قوانین اون ها و دو تابع بالا می تونید الگوریتم های رمزنگاری خوبی رو ایجاد کنید.

chunk_split : این تابع هر چند کاراکتر در میان رشته یه کارکتر قرار میده.

نکته : این تابع کاراکتر space رو هم محاسبه می کنه.

nl2br : همون طور که از اسمش پیداست \n یا new line رو به <br> تبدیل می کنه. یعنی اگر کاربر در رشته خودش enter زده باشه که بره به خط بعدی این تابع این کار رو براش انجام میده در غیر این صورت رشته به صورت پشت سر هم میاد.

نکته : زمانی که دارید خروجی html در متغیر میریزید برای مرتب بودن کدها در زمان نمایش (نمایش در خطوط) در هر خط enter بزنید و در نهایت خروجی رو با تابع nl2br چاپ کنید.

parse_str : این تابع یک رشته Query String رو به تعدادی متغیر تبدیل می کنه (بر اساس جدا کننده & ).

str_pad : این تابع به تعداد خاصی کاراکتر خاص در چپ راست و (یا هردو) یک رشته ورودی قرار می دهد.

پارامتر های این تابع عبارتست از :

  • string : رشته ورودی
  • length : تعداد کاراکتر برای تکرار
  • pad_string : کاراکتر مورد تظر که باید تکرار بشه.
  • pad_type : نوع چسبوندن pad به رشته که سمت چپ باشه (STR_PAD_LEFT) یا سمت راست (STR_PAD_RIGHT) یا هر دو طرف (STR_PAD_BOTH)

نکته : از این تابع برای ساخت رشته ها به صورت زیبا تر هم میشه استفاده کرد. به طور مثال قراره error_log کنید می تونید برخی کلمات رو برای مهم جلوه دادن با این تابع در میان تعدادی کاراکتر * قرار بدید.

str_replace : این تابع یک عبارت خاص در یک رشته رو با یه عبارت دیگه جایگزین می کنه.

پارامتر های این تابع :

  • find : عبارتی که در رشته موجود است و باید پیدا شود و با پارامتر replace جایگزین گردد.
  • replace : عبارتی که باید با پارامتر find در رشته string جایگزین شود.
  • string : رشته ورودی
  • count : این تابع اولین موردی از find را که پیدا کرد با replace جایگزین می کند. اگر تعداد خاصی از find باید در رشته جایگزین گردد باید عدد این پارامتر را بدهید. (اختیاری)

نکته : اگر در Header یونیکد محتوای شما برابر با UTF8 این تابع برای رشته هایی با یونیکد UTF8 نظیر کاراکتر های زبان پارسی نیز کار می کند.

نکته : این تابع case sensitive هست. در صورت نیاز به غیر فعال کردن این حالت از تابع str_ireplace با همین پارامتر ها استفاده کنید.

str_repeat : یک رشته یا کاراکتر رو به تعداد خاص چاپ می کنه.

str_shuffle : کاراکتر های یک رشته رو بهم میریزه .

نکته : این تابع در هر بار درخواست به یک حالت خاص بهم میریزه و تکراری این کار رو نمی کنه.

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

strpos : این تابع مکان یک عبارت رو توی یک رشته بر میگردونه و اگر وجود نداشت مقدار FALSE رو برمیگردونه.

پارامتر های این تابع :

  • string : رشته مورد نظر
  • find : عبارت مورد جستجو
  • start : به صورت پیشفرض ابتدای رشته است ولی اگر شما خواستید میتونید مکان خاصی از رشته رو برای شروع جستجو انتخاب کنید.

نکته : از این تابع وجود یک کاراکتر در رشته استفاده میشه . مثلا میخواید بدونید کاربر ایمیل وارد کرده یا نام کاربری ، فقط کافیه که کاراکتر @ رو در رشته ورودی جستجو کنید.

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

پارامتر های این تابع :

  • string : رشته ورودی
  • start : آدرس شروع برش
  • length : طور برش

نکته : یه سری توابع در رشته ها وجود داره که مربوط میشه به رشته هایی با یونیکد UTF8 که بهتر عمل می کنه برای زبان هایی نظیر فارسی . نحوه عملکردش دقیقا مثل سایر توابع است با این تفاوت که ابتدای نام تابع mb داره . مثال برای تابع substr میشه mb_substr .

printf : چاپ رشته فرمت شده . یعنی می تونه ورودی خاص با خودش داشته باشه به صورت متغیری از جنس های مختلف نظیر رشته ، عدد و …

پارامتر های تابع :

  • format : رشته ای که فرمت شده یعنی یه سری کاراکتر های خاص درونشه که میتونه نمایانگر یه متغیر خاص باشه.
  • arg : متغیر ها که هر کدوم به ترتیب بر میگرده به محتوای درون رشته فرمت شده.

فرمت های مجاز برای قرار گرفتن در درون رشته به شرح زیر می باشند:

  • %u – Unsigned decimal number (equal to or greather than zero)
  • %f – Floating-point number (local settings aware)
  • %F – Floating-point number (not local settings aware)
  • %s – String

مطالب مشابه

آرایه ها در php

در این مقاله قصد داریم تا آرایه ها رو در php بررسی کنیم و همچنین توابع مرتبط با آرایه ها رو بررسی کنیم. انواع آرایه در...

اشتراک گذاری :

ابوالفضل صباغ

برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای رشته ها در PHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *