رشته ها

رشته ها در PHP مجموعه ای از کارکترهای متوالی هستند که بین دو گیومه (کوتِیشِن) تک  ‘ ‘ یا جفت  ” ”  قرار می گیرند. مثال:

$string = 'This is a text.';
$string = "This is also a text.";

درصورتی که بخواهید از خود کارکتر گیومه (تک یا جفت) در وسط رشته ای که ابتدا و انتهای آن توسط همان نوع گیومه مشخص شده است، استفاده کنید، باید قبل از گیومه میان رشته، کارکتر \ استفاده کنید.

echo 'It\'s mine. My name is "Mohammad"';
echo "My friend's name is \"Ali\".";

 

ادغام رشته ها

برای ادغام رشته ها در PHP از کارکتر نقطه ( . ) استفاده می شود:

$string1 = 'PHP';
$string2 = 'Programming';
echo $string1 . ' ' . $string2 . ' is full of enjoy.<br />';
PHP Programming is full of enjoy.<br />

در PHP میتوانید رشته ها را با اعداد نیز ترکیب کنید:

$number = 5;
echo 'Test' . $number;
Test5

 

تفاوت رشته های محصور در گیومه جفت و تک

دستورات زیر را درنظر بگیرید:

$string = 5;
$text1 = "String is $string";
$text2 = 'String is $string';

echo $text1 . '<br/>';
echo $text2;
String is 5
String is $string 

با اجرای دستورات فوق، عبارت String is 5 در متغیر $text1 و عبارت String is $string در متغیر $text2 ذخیره خواهد شد. علت این تفاوت در عملکرد، آن است که اسامی متغیرها در رشته هایی که بین دو گیومه جفت قرار دارند، پردازش شده و بجای نام آنها، مقدارشان در عبارت مورد استفاده قرار میگیرد. درمقابل رشته های محصور به گیومه تک، مورد هیچ پردازشی قرار نمیگیرند و به همان شکل که نوشته میشوند، مورد استفاده قرار خواهند گرفت. بنابراین اگر در رشته موردنظرتان، متغیری وجود ندارد، بهتر است آنرا در گیومه تک بگذارید تا سرعت پردازش کد شما افزایش یابد. همچنین باید دقت کنید که پردازش رشته های محصور در گیومه جفت نیز تنها محدود به اسامی متغیرهاست و هیچگونه فراخوانی توابع یا عمل محاسباتی ریاضی و… مورد پردازش قرار نخواهد گرفت. برای مثال، حاصل دستورات زیر:

$string = 5;
$text = "String = ($string + 5)";

echo $text ;
String = (5 + 5) 

ذخیره شدن عبارت String = (5 + 5) در متغیر $text است. درواقع برای محاسبه صحیح مجموع و درج آن در رشته، باید بصورت زیر عمل کنید:

$string = 5;
$text = 'String = ' . ($string + 5);

echo $text ;
String = 10 

که به موجب آن، ابتدا نتیجه محاسبه ($string + 5) با حاصل 10 و سپس استفاده از نتیجه این محاسبه در عبارت و ادغام با رشته ‘String = ‘ و درنتیجه ذخیره عبارت نهایی String = 10 در متغیر $text است.

 

استفاده از رشته بعنوان عدد

همانطور که در مثال قبل ملاحظه کردید، تبدیل عدد به رشته در زمان نیاز بطور خودکار انجام میشود. عکس این موضوع نیز صحیح است و رشته ها درصورت استفاده در عبارات محاسباتی، بطور خودکار به عدد تبدیل خواهند شد؛ بدین ترتیب که از ابتدای رشته، تا زمان رسیدن به اولین کارکتر غیر عددی، جدا شده و بصورت عدد تعبیر میشود. البته اگر رشته موردنظر با عدد شروع نشده باشد، یک ثابت خاص به نام NaN (مخفف Not a Number) بازگردانده خواهد شد. مثال:

$text = '52Ali';
$sum = 7 + $text;

echo $sum; 
59 

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.