آموزش رایگان PHP

آموزش جامع و استاندارد کار با رشته‌ ها در PHP

1405/04/27 20:59 محراب حسن زاده
آموزش جامع و استاندارد کار با رشته‌ ها در PHP

مقدمه‌ای بر رشته‌ها در PHP

رشته‌ها (Strings) یکی از پرکاربردترین انواع داده در هر زبان برنامه‌نویسی، به‌ویژه در توسعه وب با PHP هستند. فهم دقیق نحوه کارکرد رشته‌ها و استفاده از توابع بهینه، تأثیر مستقیمی بر کارایی (Performance) و امنیت وب‌سایت شما دارد. در این مقاله آموزشی، بر اساس استانداردهای برنامه‌نویسی گوگل، اصول کار با رشته‌ها در PHP را با هم مرور می‌کنیم.

تفاوت بین تک‌کوتیشن (') و جفت‌کوتیشن (")

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

  • Single Quotes ('): سریع‌تر است زیرا PHP متن داخل آن را پردازش (Parse) نمی‌کند و متغیرها یا کاراکترهای فرار (Escape characters) درون آن ارزیابی نمی‌شوند.
  • Double Quotes ("): برای زمان‌هایی استفاده می‌شود که نیاز دارید متغیرها را مستقیماً درون رشته بنویسید (Variable Interpolation) یا از کاراکترهایی مانند \n استفاده کنید.

به مثال زیر توجه کنید:



$name = "احمد";

// بدون پردازش متغیر (سریع‌تر)
echo 'سلام $name'; // خروجی: سلام $name

// همراه با پردازش متغیر
echo "سلام $name"; // خروجی: سلام احمد

توابع مدرن کار با رشته‌ها در PHP 8

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

۱. تابع str_contains

برای بررسی وجود یک زیررشته در یک رشته دیگر، به‌جای استفاده از strpos() !== false از این تابع خوانا استفاده کنید:


$sentence = "آموزش برنامه نویسی PHP با استانداردهای گوگل";

if (str_contains($sentence, "PHP")) {
    echo "این جمله درباره PHP است.";
}

۲. توابع str_starts_with و str_ends_with

این توابع بررسی می‌کنند که آیا یک رشته با عبارت خاصی شروع می‌شود یا پایان می‌یابد:



$url = "https://google.com";

if (str_starts_with($url, "https")) {
    echo "ارتباط امن است.";
}

if (str_ends_with($url, ".com")) {
    echo "دامنه بین‌المللی است.";
}

توابع کلاسیک و بسیار کاربردی رشته‌ها در PHP

۱. محاسبه طول رشته (strlen و mb_strlen)

برای رشته‌های انگلیسی از strlen() استفاده می‌شود، اما برای زبان‌های چندبایتی مثل فارسی، حتماً باید از mb_strlen() استفاده کنید تا تعداد کاراکترها به درستی محاسبه شود:



$english = "Hello";
$persian = "سلام";

echo strlen($english); // خروجی: 5
echo strlen($persian); // خروجی اشتباه: 8 (به دلیل انکودینگ UTF-8)
echo mb_strlen($persian, 'UTF-8'); // خروجی درست: 4

۲. جایگزینی در رشته‌ها (str_replace)

این تابع یکی از سریع‌ترین روش‌ها برای جایگزینی کلمات یا کاراکترها در یک رشته است:



$text = "من زبان جاوا را دوست دارم.";
$newText = str_replace("جاوا", "PHP", $text);
echo $newText; // خروجی: من زبان PHP را دوست دارم.

۳. برش دادن رشته (substr)

برای استخراج بخشی از یک رشته از این تابع استفاده می‌شود:



$string = "Google PHP Standards";
echo substr($string, 0, 6); // خروجی: Google

امنیت در کار با رشته‌ها (استاندارد گوگل)

یکی از توصیه‌های اکید امنیتی گوگل، جلوگیری از حملات XSS هنگام نمایش رشته‌ها در مرورگر است. همیشه قبل از نمایش داده‌های وارد شده توسط کاربر، آن‌ها را با استفاده از تابع htmlspecialchars() فیلتر کنید:



$userInput = "< script > alert( ' Hacked! ' );< / script > ";
// جلوگیری از اجرای کدهای جاوا اسکریپت مخرب
echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');

نتیجه‌گیری

رعایت استانداردهای کدنویسی در PHP نه تنها باعث افزایش سرعت اجرای برنامه‌های شما می‌شود، بلکه نگهداری و توسعه کدها را برای تیم‌های بزرگ آسان‌تر می‌سازد. سعی کنید همیشه از جدیدترین ویژگی‌های معرفی شده در PHP 8 استفاده کنید و امنیت رشته‌ها را در اولویت قرار دهید.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا
1402/05/18 00:40

راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا

مطالعه بیشتر
آموزش کامل $_SERVER در PHP: راهنمای جامع متغیرهای سوپرگلوبال سرور
1405/05/01 20:04

آموزش کامل $_SERVER در PHP: راهنمای جامع متغیرهای سوپرگلوبال سرور

مطالعه بیشتر
آموزش ساخت اولین فایل PHP و بررسی ساختار تگ‌ها بر اساس استاندارد وب
1405/03/15 00:08

آموزش ساخت اولین فایل PHP و بررسی ساختار تگ‌ها بر اساس استاندارد وب

مطالعه بیشتر
آموزش ارتباط با سرور و ارسال درخواست‌های HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثال‌ها
1403/08/01 19:55

آموزش ارتباط با سرور و ارسال درخواست‌های HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثال‌ها

مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق
1403/08/12 19:51

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

مطالعه بیشتر
آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب
1402/05/29 21:13

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

مطالعه بیشتر
آموزش جامع و گام‌به‌گام حلقه for در PHP + مثال‌های کاربردی
1405/04/04 00:11

آموزش جامع و گام‌به‌گام حلقه for در PHP + مثال‌های کاربردی

مطالعه بیشتر
آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol
1403/08/10 21:33

آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol

مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها
1403/07/29 20:46

استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثال‌ها

مطالعه بیشتر
استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax
1403/08/16 22:30

استفاده از Viewports و Viewport Units در CSS: طراحی واکنش‌گرا با vw، vh، vmin و vmax

مطالعه بیشتر
آموزش جامع مدیریت خطاها در PHP بر اساس استانداردهای گوگل
1405/05/01 20:23

آموزش جامع مدیریت خطاها در PHP بر اساس استانداردهای گوگل

مطالعه بیشتر
آموزش ساختار کامپوننت در Vue.js (راهنمای کامل همراه مثال)
1404/05/15 22:45

آموزش ساختار کامپوننت در Vue.js (راهنمای کامل همراه مثال)

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد