توابع رشتهای strlen, strpos, strrpos, substr - آزمون آنلاین پی اچ پی
این توابع خیلی قدرتمند و کاربردی هستن و بهت کمک می کنن تا به راحتی با متن ها و رشته ها کار کنی.
توابع رشته ای strlen, strpos, strrpos, substr
فرض کن یه متن خیلی طولانی داری و می خوای بدونی چندتا کاراکتر داره یا می خوای ببینی یه کلمه خاص کجای اون متن قرار گرفته.
اینجاست که توابع دوست داشتنی مثل strlen، strpos و بقیه به کمکت میان.

تابع strlen - برای اندازه گیری طول رشته
اولین دوستمون، strlen هست. کارش خیلی ساده است: بهش یه رشته می دی و اون بهت می گه چندتا کاراکتر داره. به همین راحتی!
برای استفاده از این تابع، فقط کافیه اسم تابع رو بنویسی و رشته مورد نظرت رو داخل پرانتز قرار بدی.
$text = "سلام به دنیای برنامهنویسی PHP";
$length = strlen($text);
echo "طول رشته ما برابر است با: " . $length;
نتیجه این کد 40 هست. حالا شاید بگی «چرا 40؟» خب، چون کاراکترهای فارسی و حتی نیم فاصله هم حساب میشن.
تابع strpos: شکارچی جایگاه کلمات
دومین قهرمان ما، strpos هست. این یکی خیلی باهوشه. بهش یه رشته می دی و یه کلمه یا کاراکتر. اونم میره تو اون رشته دنبال اون کلمه می گرده و اگه پیداش کنه، بهت می گه از کدوم جایگاه شروع شده. اگه پیدا نکنه، بهت false برمی گردونه.
یک نکته مهم: این تابع از جایگاه 0 شروع به شمارش می کنه. یعنی اولین کاراکتر در جایگاه 0 قرار داره.
$text = "برنامه نویسی PHP خیلی جذاب و کاربردیه.";
$position = strpos($text, "PHP");
echo "کلمه 'PHP' در جایگاه " . $position . " قرار دارد.";
این کد به ما عدد 14 رو برمی گردونه.
تابع strrpos: شکارچی از آخر به اول
strrpos هم شبیه به strpos هست، با یه فرق بزرگ: این یکی جستجو رو از آخر رشته شروع می کنه. اگه یه کلمه چند بار تو یه رشته تکرار شده باشه، strrpos آخرین باری که اون کلمه پیدا شده رو بهت می گه.
$text = "این یک متن است. این یک متن دیگر است.";
$last_pos = strrpos($text, "این");
echo "آخرین 'این' در جایگاه " . $last_pos . " قرار دارد.";
نتیجه این کد 19 هست.
تابع substr: برش دهنده حرفه ای رشته
حالا نوبت به substr می رسه. این تابع مثل یه قیچی عمل می کنه و بهت اجازه می ده بخشی از یه رشته رو ببری و برداری. کافیه بهش بگی از کجا شروع کنه و چقدر جلو بره.
مثال های زیر بهت نشون می دن که چقدر می تونه کاربردی باشه:
- برش از یک نقطه تا انتهای رشته:
$text = "سلام به دنیای برنامهنویسی"; $sub = substr($text, 10); echo $sub;خروجی:
برنامهنویسی - برش با تعیین طول:
$text = "این یک مثال است."; $sub = substr($text, 4, 3); echo $sub;خروجی:
یک
حالا که با این توابع آشنا شدی، وقتشه که یه کوییز کوچولو بدم. این کوییز بهت کمک می کنه تا ببینی چقدر این مباحث رو یاد گرفتی.
جواب دادن بهش باعث میشه به سوالات مختلفی فکر کنی که تو دنیای واقعی برنامه نویسی باهاش روبرو میشی و مهارتت رو توی کار با رشته ها حسابی بالا می بره.
مقایسه توابع رشته ای
برای اینکه بهتر بتونی تفاوت این توابع رو بفهمی، یه جدول آماده کردم. این جدول بهت کمک می کنه تا یک نگاه کلی به کارکرد هر تابع بندازی و در ذهنت طبقه بندیشون کنی.
| تابع | کارکرد اصلی | نحوه استفاده | مقدار برگشتی |
|---|---|---|---|
strlen |
محاسبه طول رشته | strlen($string) |
عدد (طول رشته) |
strpos |
یافتن اولین رخداد یک زیررشته | strpos($haystack, $needle) |
عدد (جایگاه) یا false |
strrpos |
یافتن آخرین رخداد یک زیررشته | strrpos($haystack, $needle) |
عدد (جایگاه) یا false |
substr |
برش بخشی از رشته | substr($string, $start, $length) |
رشته برش خورده |
امیدوارم این توضیحات بهت کمک کرده باشه تا با این توابع پرکاربرد PHP آشناتر بشی.