رشته ها در PHP

در زبان های برنامه نویسی به مجموعه کاراکترهایی که پشت سر هم قرار می گیرند رشته می گویند. رشته ها معمولا با کاراکترهای کوتیشن ' و یا دبل کوتیشن " مشخص می شوند.. کد زیر متغیری به نام a ایجاد می کند و مقدار PHP را در آن قرار می دهد.

$a = 'PHP';

 

 این مقاله هم شاید برایتان جالب باشد: متغییر ها در PHP

 

همچنین می توان مقدار PHP را در در دبل کوتیشن (") قرار داد.

$a = "PHP";

 

 

الحاق رشته ها

زبان PHP دارای دو عملگر رشته ای است؛ کاراکتر (.) به عنوان عملر الحاق شناخته می شود. منظور از الحاق رشته یعنی دو متغیر برای ذخیره نام و نام خانوادگی دارید. برای اینکه نام و نام خانوادگی را در خروجی چاپ کنید دو رشته را الحاق می کنید. به زبان ساده تر به یکدیگر می چسبانید. کد زیر را نگاه کنید.

 

$name = "Mahan";
$family = "Shakiba";

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

$full_name = $name . ' ' . $family;

 

 این مقاله هم شاید برایتان جالب باشد: عملگر ها در PHP

 

در کد بالا با استفاده از کاراکتر نقطه (عملگر الحاق) رشته ها را به یکدیگر متصل کردیم و در متغیر full_name قرار دادیم.

حالا متغیر full_name را در خروجی چاپ می کنیم.

 

echo $full_name;

خروجی به صورت زیر خواهد بود:

Mahan Shakiba

 

تفاوت استفاده از ' و " در PHP

رشته هایی که با کوتیشن (') مشخص شوند تفسیر نخواهند شد ولی در تعریف رشته با دبل کوتیشن (") مورد تفسیر قرار می گیرند. با یک مثال ساده موضوع را روشن تر خواهیم کرد. کدهای زیر را در نظر بگیرید:

 

$v1 = 'PHP';
$v2 = "Java";
$c = 'Programming';

متغیر v1 با استفاده از کوتیشن و متغیر v2 با دبل کوتیشن تعریف شده اند. حالا می خواهیم به صورت جداگانه متغیر v1 و v2 را به متغیر c الحاق و در خروجی چاپ کنیم.

 

echo $v1 . ' ' . $c; // خروجی PHP Programming
echo $v2 . ' ' . $c; // خروجی Java Programming

حالا اگر از دبل کوتیشن استفاده کنیم می توانیم از یک متغیر در داخل رشته استفاده کنیم و بعد از تغییر رشته نهایی ایجاد شود.

$language = 'Java';
echo "$language Programming";

قرار دادن نام متغیر $language در دبل کوتیشن باعث می شود تا رشته مورد ارزیابی قرار گیرد و مقدار متغیر به صورت خودکار در رشته جاساز شود. خروجی کد بالا به صورت زیر است.

Java Programming

حال اگر کد قبلی را با کوتیشن تعریف می کردیم چه اتفاقی می افتاد

$language = 'Java';
echo '$language Programming';

چون در کوتیشن قرار دارد بنابراین موتور PHP رشته را ارزیابی نمی کند و خروجی به صورت زیر خواهد بود

$language Programming

در مواقعی که نیاز به تفسیر رشته های متنی نیست، بهتر است از کاراکتر کوتیشن استفاده شود. با این حال به دلیل خوانا بودن کاراکترهای دبل کوتیشن و اینکه تفسیر این رشته ها اضافه بار جزئی دارد، بیشتر از دبل کوتیشن ها استفاده می شود.

اگر می خواهیم روی یک عبارت رشته ای چند خطی کار کنیم، باید از رشته های Heredoc و Nowdoc استفاده شود. در ادامه این دو رشته را بررسی خواهیم کرد.

رشته های Heredoc در PHP

در ساختار دستوری این رشته ها ابتدا عملگر >>> ، سپس شناسه و یک خط جدید قرار می گیرد. در ادامه رشته مورد نظر و خط آخر شناسه که به معنای بسته شدن رشته می باشد قرار می گیرد. متغیرها داخل یک رشته Heredoc مثل رشته های دبل کوتیشن ارزیابی می شود. بنابراین از Heredoc برای رشته های چندخطی که می خواهیم ارزیابی شود، استفاده می کنیم.

$here_doc = <<

شناسه بالا LABEL انتخاب شد. این نام می تواند بنابر دلخواه شما انتخاب شود.

رشته های Nowdoc در PHP

ساختار دستوری این رشته ها همانند Heredoc می باشد به استثنای اینکه شناسه اول را باید بین کاراکتر های (") قرار دهیم. در این رشته متغیرها تجزیه نمی شوند.

$now_doc = <<<'LABEL'
PHP Programming
LABEL;

کاراکترهای گریز یا escape character در PHP

از این کاراکترها برای نوشتن کاراکترهای خاص مثل بک اسلش (\) یا دبل کوتیشن (" ") استفاده می شود.

لیست این کاراکترها در PHP در جدول زیر نشان داده شده است.

 

کاراکتر معنی کاراکتر معنی
n\ خط جدید f\ جلوبران ورقه یا کاغذ
t\ tab افقی $\ علامت دلار
v\ tab عمودی '\ کوتیشن
e\ Escape "\ دبل کوتیشن
\r سر سطر رفتن \\ ممیز وارونه

برای مثال می توان شکست خط (Line Break) در متن را با کاراکترگریز n\ نمایش داد.

$str = "Hello \n World";

این کاراکتر متفاوت از تگ
در HTML است که شکست خط در صفحات وب را مشخص می کند.

$str = "Hello 
World";

در زمان استفاده از Nowdoc یا کوتیشن (')، تنها کاراکترهای گریز قابل استفاده عبارتند از دو کاراکتر ممیز وارونه (\\) و ممیز وارونه به همراه کوتیشن ('\) برای مثال اگر بخواهیم متن It's را در خروجی چاپ کنیم به صورت زیر عمل می کنیم:

echo 'It\'s';

در کد بالا چون از کوتیشن برای رشته استفاده کردیم باید برای نمایش کاراکتر کوتیشن در متن از کاراکتر گریز استفاده کنیم. ولی اگر از دبل کوتیشن استفاده می کردیم به این کار نیازی نبود؛ کد زیر را ملاحظه کنید:

echo "It's";

در کد بالا چون از دبل کوتیشن برای تعریف رشته استفاده کردیم، می توانیم درون متن از کوتیشن استفاده کنیم همچنین برعکس این موضوع نیز صادق است. در رشته هایی که با کوتیشن مشخص می شود می توان مستقیماً از دبل کوتیشن درون متن استفاده کرد.

ارجاع کاراکتری

همانطور که در تعریف رشته ها اشاره کردیم. رشته مجموعه ای از کاراکترهای متوالی می باشد. بنابراین بعد از تعریف یک متغیر در PHP ، می توانیم با ایندکس کاراکتر مورد نظر در بین کروشه [] به کاراکتر دسترسی داشته باشیم. مثال زیر را ببینید:

$str = 'ABCDEF';
$str[0] = 'R';
echo $str; // خروجی RBCDEF

در کد بالا خروجی RBCDEF چاپ خواهد شد. با توجه به اینکه رشته مجموعه ای از کاراکترهای متوالی است، یک رشته را می توانید یک آرایه در نظر بگیرید و مانند یک آرایه به عناصر آن که کاراکتر می باشند، دسترسی داشته باشید.

تعیین طول یک رشته در PHP

زبان PHP برای تعیین طول یک رشته، متد strlen را ارائه داده است. برای مثال برای به دست آوردن طول رشته ABCDEF که دارای 6 کاراکتر است به صورت زیر عمل می کنیم:

$str = "ABCDEF";
echo strlen($str);

مقدار 6 در خروجی چاپ خواهد شد.

مقایسه رشته ها در PHP

زبان های برنامه نویسی امکان مقایسه داده ها را به ما می دهند. شما می توانید دو متغیر از نوع داده ای یکسان را مقایسه کنید. ساده ترین راه در PHP استفاده از عملگر == است. کد زیر را ببینید:

$s1 = 'apple';
$s2 = 'apple';
$condition = ($s1 == $s1);
echo $condition;

مقدار true چاپ خواهد شد. در زمان مقایسه، مقدار بولین true یا false برگردانده می شود. اگر مقایسه دو عبارت صحیح باشد true در غیر این صورت false برگردانده می شود.

 

منبع: it3du.ir