روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Ardshir Sedaghat
راهی برای تشخیص دو عملگر =! و ==!
جامعه پی اچ پی ایجاد شده در ۰۱ آذر ۱۴۰۰
<p>برای تشخیص بهتر =! و ==! </p><p>میتوان گفت اگر در مقایسه دو عبارت با ==، نتیجه true باشد، مقایسه آن دو عبارت با =! نتیجه false خواهد شد و برعکس.</p><p>به همین ترتیب در مقایسه دو عبارت با === اگر نتیجه true باشد، مقایسه آن دو عبارت با ==! نتیجه false خواهد بود و برعکس.</p>
<p>سلام اردشیر عزیز</p><p>بزارید با یک مثال بهتر براتون توضیح بدم </p><pre class="ql-syntax" spellcheck="false"><span class="hljs-variable">$x</span> = <span class="hljs-number">100</span>;   <span class="hljs-variable">$y</span> = <span class="hljs-string">'100'</span>; <span class="hljs-keyword">if</span>(<span class="hljs-variable">$x</span> == <span class="hljs-variable">$y</span>){ <span class="hljs-keyword">echo</span> <span class="hljs-string">'Okey'</span> ;  } </pre><p>در مثال بالا ما داریم بررسی میکنیم که آیا سمت چپ == با سمت راست برابر هستش ؟</p><p>مفسر به ما پاسخ True رو برمیگردونه و میگه از نظر بررسی موضوعی 100 همون '100' هستش و مقدار Okey چاپ میشه .(کاری به نوع داده‌ها یا بهتر بگم به DataType نداره که یکی int هستش و یکی string ) </p><p>حالا مثال رو تغییر میدیم به مورد زیر :</p><pre class="ql-syntax" spellcheck="false"><span class="hljs-variable">$x</span> = <span class="hljs-number">100</span>;   <span class="hljs-variable">$y</span> = <span class="hljs-string">'100'</span>; <span class="hljs-keyword">if</span>(<span class="hljs-variable">$x</span> === <span class="hljs-variable">$y</span>){    <span class="hljs-keyword">echo</span> <span class="hljs-string">'Okey'</span> ; }<span class="hljs-keyword">else</span>{ <span class="hljs-keyword">echo</span> <span class="hljs-string">'notOkey'</span>; } </pre><p>در اینجا مفسر بررسی رو که شروع میکنه میگه ایا 100 برابر با '100' هستش (دو عدد ==) ولی سومین = میگه مفسر باید جنس (dataType) هم از یک خانواده باشه حواست باشه اینجا مفسر میگه خوب پس این دوتا شاید از نظر موضوعی باهم برابر باشن ولی از نظر جنس باهم برابر نیستن یکی از جنس int هستش و یکی از جنس string پس مقداری که چاپ میشه NotOkey هستش .</p><p><br></p><p>حالا مقال‌های بالا رو اگر به این صورت بخوایم تشریح کنیم :</p><pre class="ql-syntax" spellcheck="false"><span class="hljs-variable">$x</span> = <span class="hljs-number">100</span>;   <span class="hljs-variable">$y</span> = <span class="hljs-string">'101'</span>; <span class="hljs-keyword">if</span>(<span class="hljs-variable">$x</span> != <span class="hljs-variable">$y</span>){ <span class="hljs-keyword">echo</span> <span class="hljs-string">'Okey'</span> ;  } </pre><p>مفسر متوجه میشه که سمت چپ و راست!= نباید باهم برابر باشن که در اینجا کاملا درست هستش سمت چپ 100 و سمت راست 101 هستش وباهم برابر نیستن و مقدار Okey چاپ میشه .(کاری به نوع داده‌ها یا بهتر بگم به DataType نداره که یکی int هستش و یکی string )</p><pre class="ql-syntax" spellcheck="false"><span class="hljs-variable">$x</span> = <span class="hljs-number">100</span>;   <span class="hljs-variable">$y</span> = <span class="hljs-string">'100'</span>; <span class="hljs-keyword">if</span>(<span class="hljs-variable">$x</span> !== <span class="hljs-variable">$y</span>){    <span class="hljs-keyword">echo</span> <span class="hljs-string">'Okey'</span> ; }<span class="hljs-keyword">else</span>{ <span class="hljs-keyword">echo</span> <span class="hljs-string">'NotOkey'</span> ; } </pre><p>اینجا هم مفسر بررسی میکنه که هم مقدار باهم برابر نباشه و هم جنس (DataType) </p><p>امیدوار هستم که کامل توضیح داده باشم .</p>
محمد نقلانی ۰۴ آذر ۱۴۰۰، ۰۶:۲۱
<p>تشکر از شما دوست عزیز. </p><p>بسیار جامع و عالی</p>
Ardshir Sedaghat ۰۴ آذر ۱۴۰۰، ۰۸:۱۲