عرض ادب و احترام
در مثال اول که برای بیان تفاوت میان single quote و double quote مطرح کردید، فرمودید "برای ایجاد فضای خالی (طبق کد زیر) باید از single quote استفاده کنید، درغیر این صورت دچار خطای ساختاری میشید."
بعد صفحه رو رفرش کردید و گفتید که انگار تک کوتیشنی که برای فاصله گذاشتید را نادیده میگیره.
ولی اینطور نیس چون بین تک کوتیشن space نزده بودید :)
<?php
echo "<hr>";
$x = "peoples!";
echo 'Hello World' . '' . $x;
شما مثال بالا را با double quote هم اجرا کنید مشکلی پیش نمی اید.
در مورد مثال بعدی هم که از استایل css استفاده کردید بازهم هیچ الزامی نیس که برای به هم چسباندن رشته ها از تک کوتیشن استفاده کنیم. این مثال را می توان به صورت های زیر اجرا کرد:
<?php
$name = "Ali";
// Double quote
echo "<p style='color: red'>" . "salam" . " " . $name . " " . "aziz" . "</p>";
echo "<br>";
// Single quote
echo '<p style="color: red">' . 'salam' . ' ' . $name . ' ' . 'aziz' . '</p>';
echo "<br>";
نکته در نوشتن اتریبیوت های css هستش که باید بین کوتیشن هایی قرار بگیرند که برخلاف کوتیشن های رشته ها باشند.
سلام ببینید سرعت پرداز سینگل کوتیشتن از دبل بیشتره بخاطر همین از سینگل کوت برای چسباندن رشته ها استفاد می کنیم در حالی که از دبل هم میشه استفاده کرد ولی توصیه نمیشه
در مورد فضای خالی هم عرض کردم در ویدئو که بین دوتا سینگل کوت تنها و فقط یک space لحاظ میشه و اگر هم نزارید که فضا رو ایجاد نمی کنه
سلام
برای مورد اول درسته منم توجه کردم جناب صالحی اسپیس رو نزدن
و ی مورد اینکه از متغیر ها نمیشه در ساختار ' بطور مستقیم استفاده کرد و مجبور هستید از . برای چسباندن استفاده کنید
مثلا همین کدی که خودتون نوشتید رو میشه ساده تر هم نوشت و استفاده مستقیم از متغیر رو داشته باشید که جناب صالحی همین کار رو کردن
<?php
$name = "Ali";
// Double quote
echo "<p style='color: red'>salam {$name} aziz</p>";
در کل امکان استفاده از متغیر ها درون ' وجود نداره و در نهایت همون خطای ساختاری رو دارید، که در صورت استفاده ب جای نمایش مقدار نام متغیر رو میبینید
وقتی که چنین ساختاری مثل کد بالا دارید میشه از همین حالت استفاده کرد اما زمانی که قصد استفاده از چندین متغیر رو در کنار هم دارید باید از چسباندن استفاده کنید
<?php
$a = 'Mohammadreza';
$b = 'Alireza';
$name = $a . ' ' . $b; // Mohammadreza Alireza
با این توضیحات فقط خواستم یکم راهنمایی کرده باشم ، همونطور که جناب صالحی گفتن در طول مدت دوره آشنا میشیم که در چه جاهایی از این دو مورد استفاده کنیم
امیدوارم نظرم اشتباه نباشه ??
تفاوت بین single quote و double quote :
علامت double quote این توانایی رو داره که هر چیزی که داخلش قرار بگیره رو تفسیر کنه مثل متغییر ها
علامت single quote هر چیزی که داخل خودش داره رو فقط چاپ میکنه و توانایی تفسیر نداره
در مورد تفاوت بین single quote و double quote یه چیز دیگه هم هست:
اولی برای من کار نکرد و از دومی استفاده کردم
define (__DIR__ . DIRECTORY_SEPRATOR . "../index.php");
// and
define(__DIR__ . DIRECTORY_SEPRATOR . '../index.php');
با سلام و خسته نباشید . در واقع مهم اینه که راه رو یاد داشته باشید که میشه هم از کوتیشن یا دابل کوتیشن استفاده کرد . دوستان همه درست میگید . استاد بخاطر سرعت پردازش بیشتر از سینگل کوتیشن استفاده کردن .
گرچه که ما روش های دیگه ای هم داریم مثل heredoc یا nowdoc اگر اشتباه ننوشته باشم . که خیلی از کد نویس ها برای خروجی های متنی زیاد که وسطشون از متغیر ها هم استفاده میشه استفاده میکنند و حتی از علائم زبان انگلیسی یا استفاده از خود علامت سینگل کوتیشن در بعضی از کلمات انگلیسی (Bob's) و خیلی کاربرد های دیگری که با یکم مطالعه بدست میشه اورد . ولی بازم میگم که مهم کارایی این سینتکس میباشد . استفاده از هر کدوم رو بدونید بهتر از ندانستن است .
سلام وقت بخیر
تفاوت اصلی بین سینگل کوتیشین و دابل کوتیشین به طور خلاصه این هست که اگر زمانی بخواهیم مقدار داخل متغیر رو در خروجی چاپ کنیم باید از دابل استفاده کنیم و اگر در داخل تک کوتیشین چیزی قرار دهیم دقیقا همان داخل خروجی چاپ خواهد شد