در ادامه سری آموزش پیاچپی قصد داریم شما را با توابع پرکاربردی که در کار با رشتهها با آنها زیاد سروکار خواهید داشت آشنا کنیم. در ادامه این جلسه از آموزش پیاچپی با زومیت همراه باشید.
هنگام برنامهنویسی به زبان برنامهنویسی PHP مطمئنا نیاز خواهید داشت تا عملیات را روی رشتههای متنی انجام دهید. پیاچپی یکسری توابع داخلی دارد که بسیار قدرتمند بوده و تقریبا امکان انجام هر کاری را با رشتهها فراهم میکنند. دستکاری رشتههای متنی یک مهارت با ارزش محسوب میشود، بخصوص در پیاچپی.
شما هنگام برنامهنویسی نیاز خواهید داشت تا به عنوان مثال جایگاه بخش خاصی از یک رشته متنی را بیرون بکشید. برای انجام چنین کاری میتوانید از تابع ()strpos بهره ببرید و جایگاه بخشی از یک رشته متنی که مد نظرتان است بدست آورید.
روش کارکرد این تابع بدین صورت است که یک رشته متنی را به عنوان ورودی و آرگومان اولیه، دریافت کرده و دومین ورودی باید رشته متنی باشد که شما قصد دارید آن را از ورودی اول بیرون بکشید، یعنی رشتهای که قصد جستجوی آن را در ورودی اولیه دارید. سپس این تابع، مکان اولین موردی را که در رشته متنی ورودی اولیه بیابد در خروجی خود قرار میدهد. اگر هیچ موردی بر اساس جستجوی شما در این رشته متنی یافت نشود تابع یاد شده false را برمیگرداند. به مثال زیر دقت کنید:
$numberedString = "123456789"; // 9 numbers from 1 to 9
$fivePos = strpos($numberedString, "5");
echo $fivePos;
در مثال بالا ابتدا اعداد ۱ تا ۹ در یک متغیر قرار داده شدهاند. سپس با استفاده از تابع strpos متغیر حاوی این اعداد را که حالا یک رشته متنی است به عنوان ورودی اول و عدد ۵ را به عنوان ورودی دوم قرار دادهایم. خروجی تابع را در متغیری به نام fivePos قرار دادهایم و آن را چاپ کردهایم. خروجی این کد عدد ۴ خواهد بود. اما چرا؟ شمارش جایگاه هر کاراکتر در رشتهها در پیاچپی مانند بسیاری از زبانهای برنامهنویسی از ۰ شروع میشود. بنابراین عدد یک در رشته متنی بالا جایگاه شماره ۰ را دارد و عدد شماره ۱ جایگاه شماره ۲ و به همین ترتیب.
یکی دیگر از ابزارهای کلیدی در برنامهنویسی قابلیت جایگذاری آسان موارد دلخواه در رشتههای متنی با مقادیر جدید است. در پیاچپی تابعی به نام ()str_replace وجود دارد که شبیه به پردازشگرهای کلمه کار کرده و میتوان با استفاده از آن جایگذاری رشتهها انجام دهید.
پارامترهای ورودی این تابع سه مورد هستند که حالت کلی آن به شکل زیر است
str_replace(search, replace, originalString)
در ادامه توضیح مربوط به هر کدام از این ورودیها را مشاهده میکنید:
برای درک بهتر این تابع به مثال زیر توجه کنید:
//string that needs to be customized
$first= "Welcome to zoomit";
$sec= str_replace("zoomit", "zoomg", $first);
echo $sec;
نتیجه اجرای کد بالا عبارت Welcome to zoomg خواهد بود. چراکه با استفاده از تابع str_replace کلمه zoomit را به zoomg تغییر دادهایم و خروجی آن را در متغیری به نام sec قرار دادهایم. سپس این متغیر را چاپ کردهایم.
گاهی ورودیهایی که کاربر وارد میکند را باید فیلتر کنیم که در جلسه قبل با توابع مرتبط با آن آشنا شدید. اما با استفاده از تابع trim میتوانید ابتدا کاراکترهای خالی (فاصله) سمت چپ و سمت راست رشته متنی را حذف کرده و سپس مقدار نهایی را در خروجی قرار میدهد. این تابع یک ورودی دارد که آن هم رشتهی متنی مورد نظر است که قصد حذف کاراکترهای خالی سمت چپ و راست آن را داریم. به مثال زیر توجه کنید:
//string that needs to be trimmed
$stringTest = " test trim func ";
$finalString = trim($stringTest);
echo $finalString;
در مثال بالا رشته متنی که دارای فاصله اضافه در ابتدا و انتهای خود است به عنوان ورودی در تابع trim وارد کرده و مقدار نهایی را در یک متغیر قرار دادهایم. سپس این متغیر را چاپ کردهایم. نتیجه رشته متنی بدون فاصلههای اضافه اول و آخر آن خواهد بود.
از تابع ()ltrim و ()rtrim هم میتوانید به صورت مشابه و به ترتیب برای حذف کاراکترهای خالی سمت چپ و حذف کاراکترهای سمت راست بهره ببرید.
با استفاده از این تابع میتوانید یک رشته متنی را بدون بازگشت به صورت کدشده در بیاورید. از این تابع در پیاچپی استفاده فراوانی میشود. به عنوان مثال پیش از ذخیره رمزهای عبور یا اطلاعات مهم دیگر بسیاری از برنامهنویسان آنها را با تابع md5 به صورت رمزنگاری شده در میآورند و سپس آن را در بانکهای اطلاعاتی ذخیره میکنند. بدین ترتیب امنیت بیشتری در پروژه نوشته شده با PHP برقرار خواهد شد. به مثال زیر دقت کنید:
//string that needs to encrypted
$str = "zoomit";
$finalStr = md5($str);
echo $finalStr;
نتیجه اجرای کد فوق چاپ عبارت 59bc7da94789753a34bb5e6ab8808d5a در مرورگر کاربر خواهد بود. همانطور که میبینید این تابع فقط یک ورودی دریافت میکند و آن هم همان رشته متنی است که قصد دارید آن را رمزنگاری کنید.
از این تابع به منظور شمارش تعداد کلمات موجود در یک رشته متنی استفاده میشود. ساختار کلی این تابع به شکل زیر است:
str_word_count(string,return,char)
این تابع سه ورودی دارد که ورودی اول ضروری و ورودی دوم و سوم اختیاری هستند و میتوان آنها را در تابع وارد نکرد.
برای آشنایی بیشتر با این تابع به مثال زیر دقت کنید:
$str = "zoomit website";
$finalStr = str_word_count($str);
echo $finalStr;
نتیجه اجرای کد فوق عدد ۲ خواهد بود چراکه رشته متنی مورد نظر ما شامل دو کلمه است.
با استفاده از این تابع میتوانید تعداد کاراکترهای یک رشته متنی را شمارش کنید. این تابع فقط یک ورودی دارد و آن هم رشته متنی مورد نظری است که قصد دارید تعداد کاراکترهایش را بشمارید. به مثال زیر دقت کنید.
$str = "zoomit website";
$finalStr = strlen($str);
echo $finalStr;
نتیجه اجرای کد فوق عدد ۱۴ خواهد بود. چراکه رشته متنی ذخیره شده در متغیر str در کد بالا، شامل ۱۴ کاراکتر است. دقت کنید که فاصله هم به عنوان یک کاراکتر شناخته میشود.
از این تابع به منظور برش دادن بخش خاصی از یک رشته متنی میتوان استفاده کرد. خروجی این تابع بخش مورد نظر شما خواهد بود. این تابع سه ورودی دارد و ساختار کلی آن به شکل زیر است:
substr(string,start,length)
توضیحات مربوط به ورودیهای این تابع در زیر آورده شده است:
برای درک بهتر این تابع توجه شما را به مثالی که از وبسایت w3schools آورده شده جلب میکنیم:
// Positive numbers:
echo substr("Hello world",10)."";
echo substr("Hello world",1)."";
echo substr("Hello world",3)."";
echo substr("Hello world",7)."";
echo "";
// Negative numbers:
echo substr("Hello world",-1)."";
echo substr("Hello world",-10)."";
echo substr("Hello world",-8)."";
echo substr("Hello world",-4)."";
خروجی کد بالا به صورت زیر خواهد بود:
dello worldlo worldorlddello worldlo worldorld
بدین طریق با این تابع میتوانید بخش مورد نظر خود را از هر رشته متنی برش دهید.
امیداوریم از این جلسه از سری آموزشهای پیاچپی نهایت استفاده را ببرید. در جلسات آینده و مباحث پیشرفتهتر با توابع بیشتری آشنا خواهید شد.
آموزش PHP - جلسه اول معرفی و ابزارهای مورد نیاز | رفتن به مطلب | |
آموزش PHP - جلسه دوم، متغییرها و توضیحات در کدها | رفتن به مطلب | |
آموزش PHP - جلسه سوم: عملگرها | رفتن به مطلب | |
آموزش PHP - جلسه چهارم: آرایه ها | رفتن به مطلب | |
آموزش PHP - جلسه پنجم: عبارات شرطی، دستور if | رفتن به مطلب | |
آموزش PHP - جلسه ششم: حلقه های While و For | رفتن به مطلب | |
آموزش PHP - جلسه هفتم: دستور Switch و آشنایی با Include و Require | رفتن به مطلب | |
آموزش PHP - جلسه هشتم: توابع | رفتن به مطلب | |
آموزش PHP - جلسه نهم: متغیرهای پیش فرض و فرم ها | رفتن به مطلب | |
آموزش PHP - جلسه دهم: پروژه ارسال ایمیل | رفتن به مطلب | |
آموزش PHP - جلسه یازدهم: اتصال به بانک اطلاعاتی MySQL | رفتن به مطلب | |
آموزش PHP - جلسه دوازدهم: درج اطالاعات در بانک اطلاعاتی MySQL | رفتن به مطلب | |
آموزش PHP - جلسه سیزدهم: خواندن دادهها از بانک اطلاعاتی MySQL | رفتن به مطلب | |
آموزش PHP - جلسه چهاردهم: ویرایش داده در بانک اطلاعاتی MySQL | رفتن به مطلب | |
آموزش PHP - جلسه پانزدهم: حذف داده ها از بانک اطلاعاتی MySQL | رفتن به مطلب | |
آموزش PHP - جلسه شانزدهم: Session و Cookie | رفتن به مطلب | |
آموزش PHP - جلسه هفدهم: کار با فایل ها | رفتن به مطلب | |
آموزش PHP - جلسه هجدهم: کار با تاریخ و ساعت و تاریخ هجری شمسی | رفتن به مطلب | |
آموزش PHP - جلسه نوزدهم: فیلترهای پی اچ پی (مقدماتی) | رفتن به مطلب | |
آموزش PHP - جلسه بیستم: کار با رشته ها | رفتن به مطلب | |
آموزش PHP - جلسه بیست و یکم: شیء گرایی | رفتن به مطلب | |
آموزش PHP - جلسه بیست و دوم: شیء گرایی (بخش دوم) | رفتن به مطلب | |
آموزش PHP: جلسه بیست و سوم: شیءگرایی (بخش سوم) | رفتن به مطلب | |
آموزش PHP: جلسه بیست و چهارم: شیءگرایی (بخش پایانی) | رفتن به مطلب |