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

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

27م تیر 1405 محراب حسن زاده
آموزش جامع و استاندارد کار با رشته‌ ها در 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 استفاده کنید و امنیت رشته‌ها را در اولویت قرار دهید.


پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی
10م شهریور 1402

آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی

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

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

مطالعه بیشتر
سیر تا پیاز عملگرهای ریاضی در PHP + مثال‌های کاربردی
24م خرداد 1405

سیر تا پیاز عملگرهای ریاضی در PHP + مثال‌های کاربردی

مطالعه بیشتر
آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا
18م شهریور 1402

آموزش طراحی و استایل‌دهی فرم‌ها با CSS: ایجاد فرم‌های کاربرپسند و واکنش‌گرا

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

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

مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها
4م آبان 1403

آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها

مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع
5م شهریور 1402

آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع

مطالعه بیشتر
کاربرد تگ‌های meta، title و keywords در سئو: راهنمای جامع بهینه‌سازی وب‌سایت
25م مرداد 1402

کاربرد تگ‌های meta، title و keywords در سئو: راهنمای جامع بهینه‌سازی وب‌سایت

مطالعه بیشتر
آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب
9م آبان 1403

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

مطالعه بیشتر
آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var
18م شهریور 1402

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

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

آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثال‌ها و مفاهیم
29م مهر 1403

آموزش جامع توابع بازگشتی (Recursion) و کاربردهای آن در جاوا اسکریپت: مثال‌ها و مفاهیم

مطالعه بیشتر

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