دوره مجازی PHP (جلسه 4): عملگرها در PHP

- visibility ۶۷ mode_comment

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

:: لیست مطالبی که در این جلسه گفته میشن به این شکل هست :

فصل 4 : عملگرها در PHP : انجام اعمال مختلف بر روي داده ها و متغيرها

  • عملگر چيست ؟
  • انواع عملگرها در زبان PHP
  • عملگرهاي رياضي و محاسباتي
  • عملگرهاي رشته
  • عملگرهاي مقايسه اي
  • عملگرهاي منطقي
  • عملگرهاي بيتي
  • عملگرهاي انتساب
  • عملگرهاي خاص : ++ و –
  • بررسي عملگرها با مثال هاي مختلف
  • اوليت اعمال عملگرهاي مختلف
  • تمرين
info نکته :

در این ویدیو و در قسمتی که در مورد عملیات بیتی صحبت می کنیم، مقادیر اعداد 10 و 11 را در مبنای 2 به اشتباه نوشتیم که در خود ویدیو و فایل های این جلسه به این مورد اشاره شده است . این مورد رو ذکر کردم که دچار سردرگمی نشید و بابت اشتباه بوجود اومده عذرخواهی می کنم. مقادیر صحیح این دو عدد در فایل های این جلسه آورده شده .

info توجه

این مطلب یک جلسه از دوره حرفه ای PHP می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در دوره حرفه ای PHP

comment دیدگاه کاربران
soheil1985

درست شد ، باید با این تابع بصورت رشته ای تعریف بشه

shahriar rad

با سلام و درود
بنده متوجه نشدم مگه ++! معنیش این نیست که نه مقدارشان مساوی باشد و نه نوعشان؟؟؟
پس چرا مثلا 5=r$ و “5”=rr$ و با هم مقایسه کنیم با ++! ، چرا مقدار true را بر میگرداند؟

لقمان آوند

درسته دیگه !!!
!== شرط نابرابری در نوع و مقدار هست .
شرط نابرابری دو مقداری که ذکر کردید برقراره و true شده . چون نوعشون متفاوته . پس نابرابرند! دقت کنید که شرط نابرابری true شده و اینجا true شده به معنی نابرابر بودن دو مقدار هست !!!

shahriar rad

با سلام و درود
مگه اون شرط نمیگه هم مقدارشان برابر نباشه و هم نوعشان؟
خوب اینجا که مقدارشان یکیه؟ و فقط نوعشان فرق میکنه

لقمان آوند

سلام
نه اینطور نیست!
اون عملگر (!==) میگه اگه یکی از موارد یا هر دو (مقدار یا نوع) نابرابر بود دو عملوند نابرابرند !

shahriar rad

با سلام و درود اگه این مثال را اینجوری بیان کنیم درسته؟
توانایی استخدام فرد در شرکت : یا پسر باشد یا بزرگتر از 20 سال سن داشته باشد
z=x xor y
با تشکر

لقمان آوند

خیر درست نیست .
چون در xor فقط 1 مورد از طرفین شرط باید صحیح باشه …
در صورتی که پسر بیشتر از 20 سال هم داریم که هر دوی x و y برای true میشه !!!

dariosh babaii

جناب اقای لقمان عزیز.
همانطور که میدانیم تمامی کارهایی که در بخش کد نویسی انجام میدهیم در هر زبانی ابتدا کامپایل میشود سپس نشان داده میشود منظور این است که همه کدها ابتدا به صفر ویک تبدیل میشود بنده میخواستم تمامی این صفر ویک ها را ببینم البته این یک کنجکاوی است وارتباطی به اصل موضوع ندارد .سوال بنده این است که میتوانیم خروجی کامپایلر را که حاوی انبوهی از صفر ویک است را ببینیم

لقمان آوند

سلام
زبان php یک زبان مفسری هست و به جای کامپایل کل کد، خط به خط تفسیر (interprete) میشه و شما فایل کامپایل شده نداری که محتویاتش رو ببینی داریوش جان …

شایان مرادی

سلام خسته نباشید
من یه سوال برام پیش اومد.
داخل قسمت بیت ها شما نات 10 رو حساب کردید و این درومد : 11111001
(درواقع چون 10 میشه 00001010 و به دلیل اشتباه تایپی نوشتید 00000110 ، لذا نات 10 میشه : 11110101)
و وقتی داخل پی اچ پی استورم وارد کردید :


خروجی -11 شد. در حالی که من انتظار داشتم جواب به این شکل شه :

حالا چیزی که از اختلاف جواب ها ، بیشتر برام عجیبه اینه که چجوری پی اچ پی ، جواب منفی چاپ کرده! چون من هرجور حساب میکنم جواب منفی ممکن نیست در بیاد.

و یه چیز دیگه. با توجه به روش کدگذاری 0و1 ، اگر ما در حداکثرترین حالت یعنی 11111111 رو چاپ کنیم ، جواب 255 در میاد. اگر عدد ما بیشتر ازین عدد باشه به صورت 0 و 1 چطوری نوشته میشه؟ مثلا عدد 256 یا 1000 چطوری در میاد؟

ممنون از زحمات فراوان شما

لقمان آوند

سلام
تو اعداد باینری اگر سمت چپ ترین بیت 1 باشه و محاسبه علامتدار باشه نشونه منفی بودن عدد هست. عدد بدست اومده هم به همین دلیل معادل -11 هست .

iman12

سلام آقای آوند شما در این ویدیو گفتید که عملگر ==! در صورتی مقدار true میده که 2 متغیر هم جنس نباشند “و” مقدارشون مساوی نباشه اما توی اسلاید نوشته بود or یعنی آیا مقدار وقتی ترو میشه که یکی از این 2 حالت درست باشه و یا وقتی که هر دو حالت درست باشه و مقدار و جنسشون برابر نباشه؟

لقمان آوند

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

mehdi karimi

سلام خدمت اساتید
من ومپ رو نصب کردم و پورت رو هم چون مشکل داشت عوض کردم مثلا گذاشتم 8080
حالا هر سری روی localhost کلیک میکنم و آدرس باز میشه باید دستی آخرش :8080 اضافه کنم
میخواستم ببینم چه جوری میتونم از تو تنظیمات کاری کنم که وقتی همیشه روی لوکالهاست کلیک میکنم دیگه مستقیما localhost:8080 باز بشه واسم ؟؟؟

لقمان آوند

سلام
برو به مسیر c:/wamp/wampmanager.tpl و هر جا http://localhost دیدی اون به http://localhost:8080 تغیر بده و ذخیره کن. ومپ رو ببند و دوباره باز کن. قبل از انجام این کار از فایل مذکور یه کپی/بکاپ بگیر.

علی فنایی

جناب آقای آوند، از پاسخ به سوالات قبلی ممنونم. دلایل شما هم بنظرم کاملا منظقی بود. من واقعا از نحوه ضبط این ویدیوهای شما که با این همه دقت و زحمت تهیه میشه لذت می برم و اصلا نمی تونم تشکر نکنم. از اینکه بسیار با صبر و حوصله عملگرها رو توضیح دادید و مثال زدید بسیار استفاده کردم. فقط برای من دو مورد در خصوص جمع مقادیر دو آرایه و ترتیب عملگرها نا مفهوم بود.
در مورد آرایه ها، نتیجه vardum برای جمع متغیر $a با مقادیر {1,2,3} با متغیر $b با مقادیر {a,b,c}رو بصورت زیر نشون میداد که معنیش مبهم بود:
[0]=> (int(1
[1]=> (int(2
[2]=> (int(3
در مورد ترتیب اجرای عملگرها هم متاسفانه بنظر میرسه هم چپ به راست درگیر هست و هم اولویت عملگرهای توان، ضرب و تقسیم. به طوریکه درصورت عدم استفاده از پرانتر برای تعیین اولویت اجرا، متاسفانه پاسخ واقعا با یک استاندارد مشخص قابل حدس نیست. مثلا در vardump عبارت زیر نتیجه، 43- است. این در شرایطی است که عملگر ضرب و حتی جمع، مقدم بر توان شده است:
result= 16-6*10+6/2^2
——>
result=16-60+6/2^2
result=-44+6/2^2
result=-44+6/4
result=-44+1.5
result=-42.5 که بصورت عدد صحیح 43- نمایش داده میشود.
ممنون میشم در صورتیکه در خصوص این دو مورد توضیح بیشتری بفرمایید. با سپاس فراوان.
* ضمنا رایت تو لفت برای بخش ‘نظرات’ سایت وجود ندارد. قسمت کدهای php و Html هم ظاهرا باکسی در محیط ارسال نظر نمایش نمیداد. صورتیکه کدی نیاز به درج باشد همه راست چین میشود و متن بهم میریزد. اگر تسهیلاتی برای کاربران در خصوص این موضوع اندیشیده شود مزید سپاس است. با احترام و سپاس پیشاپیش/

لقمان آوند

سلام
مورد اول رو متوجه نشدم. کدتون رو برام بفرستید ببینم.
مورد دوم هم یه اشتباه ریز دارید! علامت ^ که توان نیست! این مورد عملگر XOR هست توی php و برای توان باید از تابع pow استفاده کنید. به این شکل :
16-6*10+6/pow(2,2);

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2 3