آموزش پی اچ پی - قسمت6
تحریریه کدیاد
تاریخ انتشار : چهارشنبه 22 دی 1400
در بخش قبلی از آموزش پی اچ پی ما ابتدا کمی درباره فانکشنها در زبان برنامهنویسی پی اچ پی صحبت کردیم و سپس برخی از مهمترین توابع stringها در این زبان را نیز به شما معرفی کردیم. حال در این بخش از آموزش PHP قصد داریم شما را با برخی دیگر از فانکشنهای مخصوص رشتهها در این زبان آشنا کنیم و عملکرد آنها را به طور کامل به شما معرفی کنیم.
توابع تکرار و حذف کاراکتر
توابع تکرار و حذف کاراکتر در پی اچ پی
اولین تابعی که قصد داریم در این جلسه از آموزش پی اچ پی درباره آن صحبت کنیم تابع str_repeat() است. اصلیترین کاربرد این تابع تکرار کردن رشته شما برای تعداد دفعات مشخص است. مثلا اگر شما قصد داشته باشید یک عبارت را سه بار پشتسرهم تکرار کنید میتوانید آن عبارت را داخل یکرشته قرار داده و سپس از این تابع استفاده کنید. این تابع دو ورودی از ما دریافت میکند که ورودی اول رشته اصلی ما و ورودی دوم نیز تعداد دفعاتی است که قصد دارید آن را تکرار کنید. برای کارکردن با این تابع قطعه کد زیر را مشاهده کنید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php”;
echo str_repeat($str1, 3);
?>
</body>
</html>
با اجراکردن این کد مشاهده میکنید که عبارت I love php I love php I love php برای شما چاپ میشود.
یکی دیگر از توابع بسیار پرکاربرد در stringها به زبان برنامهنویسی پی اچ پی تابعی است که یک کاراکتر یا زیررشته خاص را بهعنوان ورودی از شما دریافت کرده و آن کاراکتر یا زیررشته را از داخل رشته شما حذف میکند. نام این تابع chop() است که دو ورودی از شما دریافت میکند. ورودی اولی که از شما دریافت میکند رشتهای است که قصد حذف کردن یک کاراکتر یا زیررشته از آن را دارید و ورودی دوم آن نیز زیررشته یا کاراکتری است که قصد دارید آن را حذف کنید. برای آشنایی بیشتر با این تابع قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php”;
echo chop($str1, “php”);
?>
</body>
</html>
با اجرا گرفتن از این کد عبارت I love برای شما چاپ میشود که نشاندهنده این است که عبارت php از داخل رشته شما حذف شده است.
تابع substr
آشنایی با توابع substr در زبان برنامهنویسی پی اچ پی
یکی دیگر از توابع stringها که شما باید در آموزش پی اچ پی رایگان به طور کامل با آن آشنا شوید تابع substr است که کاربردهای بسیار زیادی دارد و ما در طول دوره آموزش پی اچ پی نیز به طور گستردهای از آن استفاده خواهیم کرد. اولین ورودی که این تابع از شما دریافت میکند مانند تمامی توابع رشتهای است که قصد کارکردن روی آن را دارید. ورودی بعدی در واقع یک اندیس از رشته شما است که قصد دارید زیررشتهای که پس از آن اندیس آمده است را بهعنوان خروجی دریافت کنید. بهعنوانمثال با اجرای قطعه کد زیر خروجی شما به شکل ove php خواهد بود:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php”;
echo substr($str1, 3);
?>
</body>
</html>
این قطعه کد در واقع سه کاراکتر ابتدایی را حذف کرده و سپس باقی رشته را به شما نمایش میدهد. شما میتوانید یک ورودی سوم را نیز به این تابع بدهید که این ورودی نیز یک عدد است. با استفاده از این عدد شما مشخص میکنید که پس از حذف شدن تعدادی از کاراکترهای اول چند کاراکتر بعدی برای شما برگردانده شوند؟ بهعنوانمثال قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php ”;
echo substr($str1, 3, 5);
?>
</body>
</html>
زمانی که این کد را اجرا میکنید عبارت ove p برای شما نمایش داده میشود. این کد در واقع سه کاراکتر ابتدایی را برای شما حذف کرده و سپس از همان نقطه 5 کاراکتر بعدی را به شما نمایش میدهد.
توابع شمارش کلمات خاص و trim
آشنایی با توابع شمارش کلمات خاص و trim در زبان برنامهنویسی پی اچ پی
ما در جلسه قبلی از آموزش پی اچ پی درباره فانکشن count در stringها صحبت کردیم و بیان کردیم که این تابع برای شمارش تعداد کلمات در یکرشته مورداستفاده قرار میگیرد. حال گاهی اوقات در برنامهنویسی ممکن است شما نیاز داشته باشید که تعداد تکرار یک کلمه خاص را مورد بررسی قرار دهید. این دقیقا همان کاری است که تابع substr_count() در پی اچ پی برای شما انجام میدهد و ما در این بخش از آموزش پی اچ پی به زبان ساده قصد صحبتکردن درباره آن را داریم. این تابع نیز ابتدا رشته اصلی را از شما بهعنوان ورودی اول دریافت کرده و سپس زیررشتهای که قصد بررسی تعداد تکرار آن را دارید بهعنوان ورودی دوم از شما دریافت میکند و سپس تعداد تکرار آن زیررشته را در رشته اصلی به شما برمیگرداند. برای کارکردن با این تابع قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php and python ”;
echo substr_count($str1, “p”);
?>
</body>
</html>
با اجراکردن این کد عدد 3 برای شما نمایش داده میشود که تعداد تکرار کاراکتر p در کل رشته را نمایش میدهد.
تابع کاربردی دیگری که حتما باید در دوره آموزش برنامهنویسی PHP به طور کامل درباره آن صحبت کنیم و دارای کاربردهای زیادی است تابع trim() میباشد. گاهی اوقات در برنامهنویسی ممکن است شما نیاز داشته باشید تا فضای خالی ایجاد شده بعد از یک عبارت را پاک کنید و در واقع اطمینان حاصل کنید که پس از آخرین کاراکتر شما فضای خالی وجود ندارد. در چنین شرایطی میتوان از این تابع استفاده کرد و از مزایای آن بهرهمند شد. این تابع تنها یک ورودی از شما دریافت میکند که همان رشته اصلی است که قصد دارید فضای خالی ایجاد شده در آن را پاک کنید.
مقایسه رشتهها
مقایسه رشتهها در زبان برنامهنویسی پی اچ پی
گاهی اوقات ممکن است شما نیاز داشته باشید تا در زمان کدنویسی دو رشته را با یکدیگر مقایسه کنید. یکی از بهترین توابعی که برای این کار وجود دارد و ما در این بخش از آموزش پی اچ پی قصد صحبتکردن درباره آن را داریم تابع strcmp() است. این تابع دو رشته را بهعنوان ورودی دریافت کرده و آنها را با یکدیگر مقایسه میکند و یک بولین را نیز بهعنوان خروجی به ما برمیگرداند. برای کارکردن با این رشته قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php and python ”;
$str2 = “ I love php and python ”;
echo strcmp($str1, $str2);
?>
</body>
</html>
با اجرای این کد مقدار 0 برگردانده میشود که نشاندهنده این است که این دو رشته با یکدیگر برابر هستند. اگر این دو رشته با یکدیگر برابر نباشند مقدار -1 برای شما نمایش داده میشود.
توابع strstr و explode
توابع strstr() و explode در زبان برنامهنویسی پی اچ پی
در زمان کار با رشتهها در آموزش پی اچ پی ممکن است شما نیاز داشته باشید که بخشی از رشتهای که دارید را چاپ کنید و برای این کار علاقهمند هستید تا عبارتی که پس از یک کلمه آمده است را چاپ کنید. یکی از بهترین راهکارهایی که برای انجام این کار وجود دارد استفاده از تابع strstr() است. این تابع دو ورودی را از شما دریافت میکند که اولی رشته اصلی است که دارید و دومی نیز عبارتی است که قصد دارید زیررشته پس از آن را به چاپ برسانید. بهعنوانمثال قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php and python ”;
echo strstr($str1, “php”);
?>
</body>
</html>
با اجرا گرفتن از این کد عبارت php and python برای شما نمایش داده میشود.
یکی دیگر از توابع بسیار پرکاربرد در برنامهنویسی پی اچ پی تابع explode است که اصلیترین کاربرد آن ریختن یکرشته در داخل یک آرایه است. در واقع شما در این تابع یک عنصر متمایزکننده را مشخص میکنید که تابع بر اساس آن رشته شما را به بخشهای مختلف تقسیم کرده و سپس بخشهای مختلف آن را داخل یک آرایه قرار میدهد. بهعنوانمثال برای جداکردن کلمات یکرشته میتوان اسپیس یا فضای خالی را بهعنوان ورودی به آن داد. برای آشنا شدن با کاربردهای این تابع مثال زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str1 = “ I love php and python ”;
var_dump(explode(“ “, $str1));
?>
</body>
</html>
با اجرا گرفتن از این کد شما مشاهده میکنید که اطلاعات یک آرایه برای شما چاپ میشود که دارای 5 عنصر است و در هریک از جایگاههای آنیکی از کلمات رشته ما قرار گرفته است. دقت داشته باشید که ما برای چاپکردن خروجی این تابع از var_dump به جای echo استفاده کردیم تا به طور کامل متوجه شوید که چگونه خروجی این تابع یک آرایه خواهد بود که رشته شما را به یک آرایه از کلمات تبدیل کرده است.
تبدیل آرایه به رشته
تبدیل آرایه به رشته در Php
در بخش قبلی درباره تبدیل یکرشته به آرایه صحبت کردیم و تابعی که برای این کار مورداستفاده قرار میگرفت را به طور کامل به شما معرفی کردیم. حال ممکن است این سوال برای شما به وجود آمده باشد که آیا امکانپذیر است که یک آرایه را به یکرشته تبدیل کنیم؟ در پاسخ به این سوال باید گفت که بله در زبان برنامهنویسی پی اچ پی چنین چیزی نیز امکانپذیر است و در این بخش از آموزش پی اچ پی قصد داریم یک تابع بسیار کاربردی را برای انجام این کار به شما معرفی کنیم. برای انجام این کار ما میتوانیم از تابع پرکاربرد implode استفاده کنیم. ابتدا یک آرایه تعریف میکنیم و مقادیر دلخواه خود را داخل آن قرار میدهیم و سپس با استفاده از تابع implode آن را به یکرشته مانند قطعه کد زیر تبدیل میکنیم:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$myArray = array(“i”, “love”, “php”, “and”);
var_dump( implode(“ “, myArray));
?>
</body>
</html>
با اجرا گرفتن از این کد عبارت i love php and برای شما چاپ میشود. دقت داشته باشید که ورودی اولی که به این تابع دادهایم در واقع مقداری است که این تابع با استفاده از آن عناصر آرایه را از یکدیگر جدا میکند که این مقدار را ما یک اسپیس یا فضای خالی در نظر گرفتهایم.
تابع chunk_split()
تابع chunk_split برای کار با رشتهها در پی اچ پی
زبان برنامهنویسی پی اچ پی دارای توابع مختلفی است که برای کار با رشتهها در این زبان وجود دارند و شما میتوانید از هریک از آنها استفاده کنید. یکی از کاربردیترین این توابع که قصد داریم در این دوره آموزش پی اچ پی درباره آن صحبت کنیم تابع chunk_split() میباشد. این تابع نیز برای جداکردن بخشهای مختلف یکرشته مورداستفاده قرار میگیرد. برای کارکردن با این تابع قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str = “ilovephpandpython”;
echo chunk_split($str, 1, “*”);
?>
</body>
</html>
با اجرا گرفتن از این کد عبارت i*l*o*v*e*p*h*p*a*n*d*p*y*t*h*o*n برای شما نمایش داده میشود. ورودی اول این تابع در واقع رشتهای است که قصد کارکردن با آن را دارید، ورودی دوم آن مشخص میکند که شما میخواهید با چه فاصلهای کاراکترها را از هم جدا کنید و در واقع هر بخش از عبارت جدا شده شامل چند کاراکتر باشد و در نهایت ورودی سوم نیز مشخص میکند که بین بخشهای مختلف چه عبارتی قرار گیرد. بهعنوان مثالی دیگر از کارکرد این تابع قطعه کد زیر را در نظر بگیرید:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset = “UTF-8”>
<title>Document</title>
</head>
<body>
<?php
$str = “ilovephpandpython”;
echo chunk_split($str, 3, “+”);
?>
</body>
</html>
خروجی این کد برابر ilo+vep+hpa+ndp+yth+on+ خواهد بود.
با جستجو در اینترنت میتوانید بسیاری از توابع دیگری که برای کارکردن با رشتهها در زبان برنامهنویسی پی اچ پی وجود دارند و ما در این بخش از آموزش پی اچ پی درباره آنها صحبت نکردیم آشنا شوید و نحوه کار آنها را مورد بررسی قرار دهید. ما در این مطلب سعی کردیم تنها برخی از کاربردیترین و مهمترین این توابع را به شما معرفی کنیم که آشنایی با آنها بدون شک برای یک برنامهنویس پی اچ پی مفید و کاربردی خواهد بود.
قسمت قبلی آموزش رایگان php :
آشنایی با مقدمات توابع و فانکشنها
قسمت بعدی آموزش رایگان php :
یا جهت مشاهده ویدیوهای اموزشی آموزش رایگان پی اچ پی وارد این صفحه شوید.