akofaraji.ir
توابع رشته ها و ثابت ها (constants)
نوشته شده در تاریخ 05 اردیبهشت 1403
نظرات: 0 امتیاز: 5 زمان مطالعه: 8 دقیقه

 

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

رشته (string) توالی خاصی از کاراکترهاست. چند مثال:

  • “Amir Zouerami”
  • “Roxo”
  • “Hello World”

در این مقاله برخی از توابع رشته ها در PHP را بررسی می کنیم.

 

محاسبه ی طول رشته

تابع ()strlen طول رشته ی مورد نظر شما را برمی گرداند. در مثال زیر می خواهیم طول رشته ی “!Hello world” را محاسبه کنیم:

مشاهده ی خروجی

 

خروجی این مثال همانطور که می بینید عدد 12 است. چرا؟ به این دلیل که اسپیس هم یک کاراکتر محسوب می شود.

 

محاسبه ی تعداد کلمات در یک رشته

 

تابع ()str_word_count در زبان php تعداد کلمات را به شما برمی گرداند. برای این قسمت نیز از مثال Hello world استفاده می کنیم:

مشاهده ی خروجی

 

خروجی کد بالا همانطور که مشاهده می کنید عدد 2 است.

 

برعکس کردن یک رشته

 

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

مشاهده ی خروجی

 

خروجی این رشته dlrow olleH! خواهد بود که برعکس شده ی عبارت !Hello world است.

 

جست و جو در رشته ها

 

تابع ()strpos در زبان php یک متن را از شما می گیرد و سپس در یک رشته به دنبال آن متن می گردد. اگر چیزی پیدا کند موقعیت مکانی اولین کاراکتر رشته ی پیدا شده را به شما می دهد و اگر چیزی پیدا نکند FALSE را برمی گرداند. در مثال پایین می خواهیم world را در رشته ی !Hello world پیدا کنیم:

مشاهده ی خروجی

 

خروجی این متن 6 است. چرا؟ این تابع به دنبال کلمه ی world میگشته است. حرف اول world، حرف w است بنابراین اگر از ابتدای رشته ی !Hello world بشماریم می بینیم که ششمین موقعیت مکانی متعلق به w است. توجه داشته باشید که این شمارش از صفر شروع می شود بنابراین حرف H صفر است، حرف e یک است و الی آخر…

 

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

 

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

مشاهده ی خروجی

 

خروجی این کد !Hello Dolly است. پارامتر اول تابع می گوید فلان رشته را پیدا کن، پارامتر دوم می گوید فلان رشته را با آن جایگزین کن و سومین رشته می گوید که پارامتر اول را در کدام رشته پیدا کند.

 

ثابت ها (constant)

 

ثابت ها مانند متغیرها وظیفه ی نگهداری مقداری خاص را بر عهده دارند، تنها تفاوت آن ها این است که اگر یک ثابت را تعریف کنید دیگر نمی توانید آن را تغییر دهید. ثابت ها معمولا نشانه/نامی برای یک مقدار ساده می باشند که هنگام اجرای اسکریپت قابلیت تغییر یافتن ندارند. یادتان باشد که در نام گذاری ثابت ها از علامت $ استفاده نمی کنیم بلکه از تابع ()define استفاده می کنیم.

نکته: برخلاف متغیر ها ثابت ها از همان ابتدای کار در سرتاسر اسکریپت به صورت سراسری (global) قابل دسترسی هستند.

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

پارامترهایی که در فرمول بالا می بینید:

  • name: نام ثابت را در این قسمت می نویسید.
  • value: مقدار ثابت را در این قسمت می نویسید.
  • case-insensitive: مشخص می کند که ثابت نسبت به بزرگی یا کوچکی حروف انگلیسی حساس باشد یا خیر. مقدار پیش فرض false (حساس بودن) است.

 

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

 

این کد یک ثابت می سازد و خروجی آن !Welcome to Roxo.ir خواهد بود. از آنجا که این ثابت نسبت به بزرگی و کوچکی حروف حساس است بنابراین برای صدا زدن آن از GREETING استفاده کرده ایم. اگر از greeting استفاده کنیم به خطا برخورد خواهیم کرد.

 

حالا همین مثال را به صورت case-insensitive (یعنی حساس نبودن به بزرگی و کوچکی حروف) می نویسیم:

 

خروجی این عبارت باز هم !Welcome to Roxo.ir خواهد بود اما زمانی که بخواهیم آن را صدا بزنیم نسبت به بزرگی و کوچکی حروف نامش حساس نیست. بنابراین انواع greeting و GREETING و grEEting و… صحیح هستند.

 

آرایه های ثابت

 

یکی از ویژگی های جالب در PHP 7 وجود آرایه های ثابت است. شما می توانید با استفاده از تابع ()define به شکل زیر یک آرایه بسازید:

مشاهده ی خروجی

 

ثابت ها سراسری هستند

 

همانطور که گفتیم ثابت ها سراسری هستند بنابراین می توانید از هر کجای اسکریپت که خواستید به آنها دسترسی داشته باشید. کد زیر می تواند از ثابت GREETING استفاده کند، چه داخل تابع باشد چه خارج از تابع باشد:

 

خروجی این کد عبارت !Welcome to Roxo.ir است بنابراین با اینکه ثابت خارج از تابع تعریف شده است اما هنوز هم به آن دسترسی داریم.

 

منبع: سایت روکسو


اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید