دوره مجازی PHP (جلسه 3): انواع مختلف داده ها و متغیرها در PHP



visibility  
mode_comment   ۱۲۰

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

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

فصل 3 : انواع مختلف داده ها و متغيرها در PHP

  • داده هاي دنياي پيرامون ما
  • متغير در زبان هاي برنامه نويسي چيست ؟
  • نحوه ي تعريف متغيرها : صريح در مقابل ضمني
  • قواعد نامگذاري صحيح متغيرها
  • مثال هايي از نامگذاري هاي صحيح و غلط براي متغيرها
  • انواع مختلف متغيرهاي PHP
  • متغيرهاي رشته اي (String)
  • متغيرهاي عددي صحيح (Integer)
  • متعيرهاي عددي اعشاري (Float)
  • متغيرهاي بولين (Boolean)
  • متغيرهاي آرايه اي (Array)
  • نوع هاي خاص : NULL و empty
  • متغيرهاي ارجاعي (Pointer)
  • تخريب و از بين بردن متغير ها با دستور unset
  • تشخيص نوع متغيرها با تابع gettype()
  • تغير نوع متغير با تابع settype()
  • توابع چک کردن نوع متغيرها
  • is_int
  • is_string
  • is_bool
  • is_float
  • is_array
  • is_numeric
  • is_null
  • is_empty
  • تبديل نوع متغيرها (Type Casting)
  • ثابت ها در زبان PHP
  • ثابت هاي مهم و کاربردي از پيش تعريف شده در PHP
  • کار با متغيرهاي رشته اي
  • تفاوت استفاده از تک کوتيشن و دابل کوتيشن در اطراف رشته ها ( ‘ و “)
  • استفاده ي ترکيبي از متغيرها و داده ها در کدهاي PHP
  • تمرين
info توجه

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

ثبت نام در آموزش زبان برنامه نویسی php

comment دیدگاه کاربران
na3r replyپاسخ

شب بخیر … فصل متغیر ها هم بسیار واضح و رسا عرضه شد .. ممنون!
در مورد ثابت های جادوئی چیزی نشنیده بودم و خیلی برام جالب بود!
لطفا در هر فصل در صورتی که منابع جامع تر و مرتبط با همون مبحث وجود داره رو معرفی بفرمایین.
مشتاقانه منتظر فصل چهارم .. و تشریح مبحث مهم فانکشن ها هستم!

لقمان آوند

متشکرم آقا ناصر
هر چی جلوتر بریم، با هم دیگه لذت بیشتری از برنامه نویسی PHP خواهیم برد .
سعی کنید تمرین فراموش نشه و هر چقدر می تونید کد بزنید .
توابع هم در فصل 10 اراده میشن . هنوز 7-8 جلسه ی مهم و پیشنیاز تا اونجا مونده . البته تا به اونجا برسیم توی جلسات مختلف و در لا بلای کدها بعضی توابع خیلی کوچیکی رو می نویسیم و استفاده می کنیم . ولی با جزئیات کامل و ریز در فصل 10 در موردش صحبت می کنیم .
ایشالله که از شرکت در این دوره رضایت کافی داشته باشید .

payman3 replyپاسخ

سلام
جناب آوند عزیز واقعا از آموزش دادنتون لذت میبرم فقط تو رو خدا یکدفعه نرید رو سطح بالا تا مبادا برای مبتدی هایی مثل بنده زدگی ایجاد بشه . ( همش نگران این موضوعم )
البته از دوستانی که قبلا php کار کردن عذرخواهی میکنم و امیدوارم من رو ببخشند و صبور باشن چون مطمئنم به جاهایی خواهیم رسید که مطالب برای هممون سنگین به نظر برسه بیشتر از همه برای افرادی مثل بنده صفرکیلومتر 😳 علی الخصوص اگه بیس و تعاریف اولیه رو خوب یاد نگیرم .
زیاده گویی کردم منو ببخشید 😳
برای شما استاد عزیز و همه همکلاسی های خوبم آرزوی موفقیت دارم .

لقمان آوند

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

danial asvadi replyپاسخ

سلام اقا اوند
واقعا اموزش عالی بود من تا هفته پیش کلاس های حضوری php میرفتم کل ساعات جلسه رو جمع بزنی به اندازه 1:15شما مفید نبود.
فقط یک سوال
تابع is_emptyبرای چیه؟چون تو سرفصل ها هست عرض میکنم 🙂

لقمان آوند

از رضایت شما خوشحالم.
تابع is_empty نیست و empty هست. در این ادرس اطلاعاتش موجوده.
این تابعیک متغیر رو میگیره و اگر خالی نبود true برمیگردونه. در غیر این صورت false.
متغیری رو خالی میگیم که یا تعریف نشده باشه یا معادل false باشه.

Mehrdad Moradi Avarzamani replyپاسخ

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

لقمان آوند

خوبه که تمرینا رو پیگیری می کنید .
برای تبدیل آرایه به رشته (چسبوندن اعضای آرایه به هم در قالب یک رشته) باید از تابع implode استفاده کنید . تابع explode هم برعکس این کارو می کنه .

Mehrdad Moradi Avarzamani

آهان بسیار ممنون

امین replyپاسخ

– عالی بود مخصوصا explode و implode .
– یه سوال اینکه چرا در تبدیل نوع ها مثلا در تبدیل نوع فلوت به سایر نوع ها و همینطور بولین به سایر نوع ها دومرتبه میاد استرینگ رو مینویسه به عکس نگاه کنید هم عکس کدو گذاشتم هم عکس اجراش :
http://www.uploadax.com/images/44018244219937831019.jpg

– یه انتقاد هم داشتم اینکه سرعت دانلود فایل ویدیوئی خیلی کمه مثلا من نهایت سرعت دانلودم 256 هستش ولی از نمیدونم چرا از سایت شما نهایت سرعت دانلودم 100-120 و بطور میانگین بیشتر مواقع زیر 100 هستش با اینکه شبا دانلود نمیکنم !

لقمان آوند

سلام
این مورد مربوط به تابع printVar هست که تو فایل common.php هست . اونجا متغیرها رو بر اساس مقدارشون شناسایی می کنه و در پرینت ها تمام متغیرهایی با مقدار یکسان رو چاپ میکنه . با var_dump متغیرها رو چاپ کنی این مشکل وجود نداره .
سرور سایت رو دیروز تغیر دادیم . امیدواریم که سرعت بهتر شده باشه . سرور خارج از کشوره و در ساعات شلوغی ممکنه کمی سرعت انتقال داده هاش کم بشه . از این بابت عذرخواهی می کنم .

aref taker

دقیقا همین حرف درباره ی منم صدق میکنه.
فکر می کنم اگه روی سرور های داخل ایران آپلود می کردید بهتر بود.

لقمان آوند

سرورهای درون کشور متاسفانه مشکلاتی مثل پهنای باند و پایداری کمتر رو دارند…

aref taker

پیشنهاد می کنم از سرور های ایران, هاست دی ال استفاده کنید .خیلی از
وبسایت های بزرگ مثل دانلود ها از این سایت خدمات می گیرن.(ولی همون طور که میدونید قیمتش یکم بالاست. 😐 )

لقمان آوند

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

Mehrdad Moradi Avarzamani replyپاسخ

سلام جناب اوند
چطور میشه از توابع درون متغیر ها استفاده کرد ؟

لقمان آوند

یعنی چی؟ منظورت دقیقا چیه. می خوای چیکار کنی؟

Mehrdad Moradi Avarzamani

میخوام دستور rand رو درون یک متغیر اجرا کنم

لقمان آوند

باز هم منظورتو متوجه نشدم . متغیر یه مفهوم برای ذخیره سازی موقتی داده هاست . یعنی چی که می خواید درون یک متغیر، یک تابع رو اجرا کنید !!!

neyvid replyپاسخ

دوست عزیز آقای آوند سلام.
یک سوال دارم اونم اینه که ما یک متغییر با یک نام ایجاد کردیم و مقداردهی هم کردیم حالا این متغییر را اگر در جای دیگه هم مقداری بغیر از اولی بدیم جایگزین میشه یا خیر؟
مثلا:
;1=var$
حالا جایی دیگر همین var$ را بدهیم 2؟

سجاد دریس

بله متغیر ها cascade هستند. یعنی اگه در ادامه ویرایش یا حذف بشن، مقادیر قبلی هم ویرایش یا حذف خواهند شد.

neyvid

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

لقمان آوند

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

neyvid replyپاسخ

سلام.یک سوال دیگه؟
تابع های is_int یا ما بقی توابع فقط وقتی جواب میدهد که متغییری که داخلش بزاریم همون نوع باشه..درسته؟چون من یه متغییر تعریف کردم از نوع رشته و بعد از تابع (is_int($n استفاده کردم هیچی نمایش نداد ولی وقتی (is_string($n استفاده کردم نمایش عدد یک را داد که یعنی صحیح است.حالا واقعیت چیست؟مگه این نوع توابع برای استفاده اینکه بفهمیم تابع چه نوع هست نیست؟
و در ضمن من وقتی تابعی را انتخاب میکنم که تغییر بدم در کل کد هام وقتی ctrl+F6 را میزنم هیچی نمیاد(متغییر انتخاب مینکنم و میزنم)

لقمان آوند

سلام
در این شرایط is_int مقدار false رو برمیگردونه ولی در خروجی چیزی نمایش داده نمیشه . خروجیش رو با تابع var_dump می تونید دقیقا ببینید :

ولی وقتی true بر گردونده شه در خروجی معادلش یعنی 1 رو میبینید .
برای دیدن مقدار و نوع دقیق بازگشتی از یک تابع اونو در تابع var_dump بکار ببرید تا خروجی دقیق و نوع اونو ببینید .
کلید های shift+f6 رو هم برای refactor کردن استفاده کن .

neyvid replyپاسخ

سلامی دوباره…
یک سوال دیگه چرا وقتی رشته را به بوبلین تیدیل میکنیم جواب درست(1) را بر میگردونه؟

لقمان آوند

سلام
به جز رشته ی تهی (“”) و رشته ی صفر (“0”) بقیه ی رشته ها معادل true هستند و این منطق php هست .
When converting to boolean, the following values are considered FALSE:
the boolean FALSE itself
the integer 0 (zero)
the float 0.0 (zero)
the empty string, and the string "0"
an array with zero elements
an object with zero member variables (PHP 4 only)
the special type NULL (including unset variables)
SimpleXML objects created from empty tags
Every other value is considered TRUE (including any resource).

aref taker replyپاسخ

سلام
ممنون از این که نام انگلیسی مباحث رو هم میگید که میشه با یه سرچ ساده خیلی اطلاعات مفید به دست آورد. ❓

لقمان آوند

خواهش می کنم
موفق باشید

aref taker replyپاسخ

ببخیشد کاربرد pointer ها در کجاست؟

لقمان آوند

در ادامه ی دوره بعضا ازشون استفاده می کنیم که می تونید ببینید
یکی از کاربردهاش برگردوندن چندین مقدار توسط یک تابع هست.

arezoo replyپاسخ

سلام.
ببخشید من تفاوت ctrl+r با shift+f6 در php storm رو متوجه نشدم؟؟؟ 🙄

لقمان آوند

سلام
سوال خوبی بود .
ctrl+r برای replace و یا همون جایگزین کردن یه متن با متن دیگه استفاده میشه !
shift+f6 برای ریفکتور کردن .
و اما تفاوت این دو :
– زمانی که شما متنی رو با دیگری جایگزین می کنید، PhpStorm بدون بررسی همه رو جایگزین می کنه .
– در صورتی که عملیات ریفکتور کردن یه کار کاملا هوشمند هست . وقتی شما از shift+f6 استفاده می کنید PhpStorm دقیقا می گرده و همون چیزی رو که تغیر دادید در کل کدتون پیدا میکنه و تغیرات رو روی همون متغیر یا تابع انجام میده .
بزارید در یه مثال توضیح بدم که کاملا متوجه بشید :
فرض کنید توی کدتون یه متغیر به نام first_name و یه تابع به نام get_first_name() دارید . بعد از مدتی تصمیم می گیرید که نام متغیرتون رو به fname تغیر بدید . حالا رفتار دو روش رو در جایگزینی ببینید :
+ اگر از ctrl+r استفاده کنید و first_name رو با fname جایگزین کنید در هر جا و هر متنی از کدتون که کلمه ی first_name وجود داشته باشه اونو با fname جایگزین میکنه . پس نام تابع شما هم به اشتباه با get_fname() جایگزین میشه . در صورتی که اینو نمی خواستید !
+ ولی اگر از shift+f6 استفاده کنید، دقیقا توی کد میگرده و هر جا همون متغیر وجود داشته باشه نام اونو تغیر میده و کاری با بقیه ی کد ها و توابع که ممکنه همنام هم باشند نداره و هوشمندانه این جایگزینی انجام میشه .
پس اگر می خواید با تغیر نام توابع و متغیر ها اختلالی در مکان دیگه ای رخ نده، حتما از shift+f6 استفاده کنید .

arezoo

مرسی آقای آوند
خیلی واضح توضیح دادین
کاملا متوجه شدم
ممنونم.

امین خلیلی

استاد ظاهرا فقط نام متغیر ها را عوض میکنه روشshift+f6

لقمان آوند

shift+f6 عمل ریفاکتور رو انجام میده که برای تغیر نام هوشمند متغیرها، توابع و فایل ها قابل استفاده است.

امین خلیلی

من غیر از متغیر نتونستم نام دیگری را عوض کنم روش خاصی داره

لقمان آوند

نام متغیر یا تابع دلخواه یا فایل رو انتخاب کنید و shift+f6 بزنید …

منصور جواهر replyپاسخ

سلام دکتر ببخشید تفاوت تغییر نوع متغیر با تابع ()settype با روش Type Casting چیه ؟

لقمان آوند

هر دو رو برای تغیر نوع می تونید استفاده کنید . Casting سریعتر کار تبدیل رو انجام میده . چون سربار صدا زدن تابع و مقایسه ای که در تابع settype انجام میشه رو نداره …
ضمن اینکه type casting نوع خود متغیر رو تغیر نمیده و فقط مقدار اونو تبدیل می کنه که در عبارت استفاده بشه . در صورتی که settype نوع خود متغیر رو عوض می کنه .

آرمین replyپاسخ

سلام آقای آوند در همین ویدئو گفتین که (/..) به یک پوشه قبل اشاره میکنه . حالا فرض کنید فایلی که میخوایم اینکلود کنیم در 3 پوشه قبل وجود داره اونوقت باید چی کار کنیم ؟ ممنون . ❓

لقمان آوند

سلام
سه تا از این دو نقطه ها استفاده کنید . یعنی اینطوری : /../../../

mohammad babaei replyپاسخ

سلام.من از localhost نمی تونم واردپوشه ها بشم و حتما باید آدرس رو در نوار بالای مرورگر بزنم.علت چیست؟با تشکر

لقمان آوند

این خط کد رو در اول index.php که تو پوشه ی www هست اضافه کن ببین این مشکلت حل میشه یا نه :
$suppress_localhost = false;​

​اگر قبلا متغیر $suppress_localhost با مقدار true توی فایل بود همونو false کن .​

mohammad babaei

مرسی آقای آوند.حل شد.

maxsoft replyپاسخ

سلام استاد کرسر ادیتور من جدیدا به حالتی در اومده که نمیشه اصلا تایپ کرد؟ مشکلشو چظوری می تونم رفع کنم

http://gemupload.ir/images/mindgpr2q37eislm2set.png

وقتی backspace روهم میزنم هیچ عکس العملی نشون نمیده

یه سوال دیگه از کجا می تونم them phpstorm رو تغییر بدم میخوام رنگ فونتا رو یه خورده روشن تر کنم ضمیمه رو سیاه چشام خیلی اذیت میشن اگه لطف کنین اینم راهنمایی بفرمایید ممنون میشم

لقمان آوند

سلام
کلید Ins یا همون Insert رو روی کیبردت یه بار بزن تا کرسر درست شه . زدن این کلید حالت کرسر رو عوض می کنه .
از منوی file گزینه setting رو انتخاب کن و کلمه theme رو سرچ کن . اونجا می تونی تمت رو عوض کنی .

محمد replyپاسخ

سلام دوست عزیز
همچین کاری رو میشه با pointer Variable انجام داد؟
4 تا متغیر رو در 1 متغیر قرار بدم و با echo چاپ کنم؟
تو فیلم آموزش، شما 1 متغیر رو در $pointer قرار دادید، من میخوام بیشتر از 1 متغیر قرار بدم

لقمان آوند

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

محمد

تشکر
در مورد آرایه، باید برای هر متغیر، یکبار آرایه رو صدا زد!
با مثال میگم ک قابل درک کردن باشه:
من میخوام 2 تا متغیر رو با هم مخلوط کنم، بشه 1 متغیر و سپس با echo چاپش کنم
مثال:
دو متغیر $title1 و $title2 بشه یک متغیر ب نام $title
سپس وقتی echo $title میکنم، محتویات متغیر $title1 و $title2 نشون داده بشه

لقمان آوند

اگر جلوتر برید و کاربرد عملگر نقطه رو ببینید جوا سوالتون رو خواهید گرفت . در php با استفاده از عملگر نقطه میشه چند تا رشته رو به هم چسبوند . این کد روببین :

امین خلیلی replyپاسخ

سلام هنگام اجرای فایلهای تمرینی Variables.phpجلسه سوم با خطاهی زیر تو مرورگر مواجه میشم
Notice: Undefined variable: stringVar in C:\wamp\www\7lern33\Variables.php on line 44
Notice: Undefined variable: arrayVar in C:\wamp\www\7lern33\Variables.php on line 52
Notice: Undefined variable: stringVar in C:\wamp\www\7lern33\Variables.php on line 57

گزینه هایerrorتو ومپ غیر فعال کردم درست شد مشکلی نداره

لقمان آوند

نباید نمایش ارور رو غیر فعال کنید.
تو خطهایی که گفته متغیر ها تعریف نشدن. قبلش با یه مقدار دلخواه مقدار دهیش کنید.

امین خلیلی

اقای راوند یه متغیر به این شکل براش تعریف کردم ولی مشکل حل نشد
$stringVar=7;
شما خودتون ابتدا فایل یه متغیر به این شکل معرفی کردید
$stringVar = “7Learn.com”;

امین خلیلی

مشکلا فهمیدم چی بود حل شد فقط جناب راوند سی دی که برای من فرستادید خرابع اجرا نمیشه نصب نمیشه

لقمان آوند

سلام
باید حداقل 7 گیگ فضا تو درایو C و محلی که می خواید نصب کنید وجود داشته باشه .
اگر وجود داره و نصب نمی شه آیدی پسورد تیم ویور بدید که بررسی کنم . اگر خراب بود مجدد براتون می فرستیم.

امین خلیلی

بیشتر از 7 گیک فضا دارم کی شما انلاین هستید که بنده ای دی بدم خدمتتون

لقمان آوند

sms بدید هماهنگ کنیم.

امین خلیلی replyپاسخ

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

روش دوم

با تشکر

لقمان آوند

برای تغیر نوع متغیر این دو روش استفاده میشن.
در اولی نوع خود متغیر عوض میشه ولی در دومی نوع متغیر عوض نمیشه و فقط مقدارش خونده میشه و تغیر کرده ی اون در $b قرار میگیره .

امین خلیلی

وقتی از این دستور استفاده میکنیم برای تغییر نوع متغییر

وقتی درست انجام میشود عدد 1 را در صفحه چاپ میکنه اگه بخاهیم این عدد 1 چاپ نشه باید چه کار کنیم
با تشکر

لقمان آوند

echo نکن !

امین خلیلی

امکان داره یه مقدار بیشتر توضیح بدید چون وقتی از تابع printVar استفاده میکنی در هر دو روش یه جور خروجی میده

لقمان آوند

کدت رو برام ایمیل کن و توضیح بده دقیقا مشکلت چیه …

امین خلیلی replyپاسخ

جناب راوند علامت بک اسلش\ کدوم کلید کیبرده

وحید صالحی

اگر از صفحه کلید استاندارد استفاده کنید زیر کلید backspace قرار داره…

امین خلیلی

همه دکمه ها را امتحان کردم نمیشه میشه به حروف بگید شیفت با کدوم دکمه را باید بگیرم

امین خلیلی

ممنون پیداش کردم حرف انگلیسی روی دکمه پ فارسی

امین خلیلی replyپاسخ

شما فرمودید دستور php به این صورت نوشته میشه


ولی تو فایل تمرینی همین جلسه Variables.php فقط تگ php را باز کردید


ولی جایی بسته نشده چرا errorنمیده

لقمان آوند

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

امین خلیلی

اقای اوند بابت پشتیبانی و جوابگویی خوبتون بسیار متشکرم
سرفصل های کلاس فتوشاپ را از کجا میتونم ببینم

لقمان آوند

خواهش می کنم
تو صفحه ثبت نام دوره هست.

Amir Saleh

سلام استاد اگر ممکنه نحوه صحیح قرار دادن کد در نظرات را ذکر کنید 😀
بنده چندین دفعه هست که میخواهم کدی قرار بدم ولی خالی رد میشه
البته همکار شما جناب اسفندیاری کد های زیادی قرار می دهند ولی من فکر کنم نحوه ی قرار دادن کد ها در پنل وردپرس و کامنت دارای تفاوتی باشد(شاید قسمت نظرات دارای مشکلی باشد)
ممنون

وحید صالحی

سلام دوست عزیز نام زبان برنامه نویسی که کدش رو می خواهید ارسال کنید رو بین براکت ها بزارید [] کد شما [/] :
بعنوان مثال برای کدهای php مانند الگوی زیر عمل کنید

[نام زبان کد مثلا : php]

کد مورد نظر خودتون رو در اینجا قرار دهید

[دوباره نام زبان کد مثلا : php/]

برای css ,html و … هم همین طور عمل کنید…

امین خلیلی replyپاسخ

جناب اوند من یه کد به شکل زیر نوشتم


در خط اول نوع متغیر را floatتعیین کردم
در خط دوم یه مقدار string بهش دادم
با توجه به اینکه در خط اول نوع متغییر را floatتعیین کردم چرا در خط سوم که printvarمیکنم نوع متغییر را stringنشون میده

لقمان آوند

نوع متغیر ها در php به صورت پویا تغیر میکنه. هر مقداری که بهش بدید خودکار از همون نوع میشه …

امین خلیلی

پس تغییر نوع متغییر به درد چی میخوره

لقمان آوند

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

ehsan69

سلام دکتر
چطوری می تونم از قابلیتی که آقای خلیلی تو ارسال دیدگاه استفاده کردن، استفاده کنم.
منظورم اون کد php ای هست که نوشتن.
ممنون

لقمان آوند

پایین باکس نظردهی دکمه قراردهی کد وجود داره . ازش استفاده کن ..

yokhi replyپاسخ

سلام و خسته نباشید خدمت شما جناب آقای اوند.من امروز جلسه سوم phpرو دیدم برام خیلی سنگینه.چون بار اول بود که مبحث متغیرها رو میشنیدم.میشه بگید ایا دوباره ویدیو رو ببینم مبحث درکش اسونتر میشه؟خیلی سخته.لطفا در مورد درک خیلی خوب بحث متغیرها بگین چیکار کنم تا ملکه ذهن بشه؟چون وقتی نمیتونم خوب درک کنم نمیتونم هم تمرین کنم.ممنون

لقمان آوند

بحث متغیر ها که سده هستن!
متغیر ها ابزاری برای نگه داشتن اطلاعات و داده ها در زبان های برنامه نویسی هستند.
ویدیو رو دوباره نگاه کنید و چند تا کد ساده بنویسید که در ا ون از متغیرهای ساده استفاده کرده باشید …

soheil1985 replyپاسخ

درود دکتر جان
آقا تو phpstorm وقتی متن فارسی بین کدهای html قرار می گیره درسته ، ولی بین کدهای php مشکل داره. خودتون هم تو ویدئو اشاره کردید بخاطر کودینگ ش.
لطفا بگید چطوری ست می شه ، چون تو خیلی مواقع خروجی های echo فارسی هستند.

سپاس از تدریس عالیتون

لقمان آوند

یونیکد فایل رو utf8 گذاشتی ؟
اصلا فارسی نمی شه نوشت و خرچنگ قورباغه هست یا اینکه میشه نوشت ولی ویرایشش سخته ؟

soheil1985

منظورم تو کامنتهای فارسی بود
۲ تا عکس گذاشتم : ۱- صفحه و مثال ۲- تنظیمات

http://tinypic.com/r/vz91xe/8
http://tinypic.com/r/2q355ao/8

لقمان آوند

آها …
چیزی که تو تصاویر بود مربوط به خود phpStorm هست. فعلا پشتیبانی خیلی خوبی از زبان های راست به چپ نداره و همینطوره …

iman12 replyپاسخ

سلام استاد؛خسته نباشید.
حقیقتش ز جلسه پیش 2 سوال داشتم ولی پنجره نظردهی اون جلسه بسته شده بود.
1-من از همون ابتدای کار که ومپ سرورو فعال کردم،هروقت از تابع echo و print() استفاده میکنم هیچ نتیجه ای توی مرورگر نمیبینم و صفحه سفید باقی میمونه.از این بابتم که کدم .php باشه اطمینان دارم.ابتدا فکر کردم که مشکل از مرور گرمه ولی این اتفاق برای تمام مرورگرام میافته(opera,ir,mozila) در ضمن من نتونستم هم زمان ومپ سرورو iis رو باهم اجرا کنم و به همین دلیل هروقت که میخوام از ومپ سرور استفاده کنم موقتا iis رو غیرفعال میکنم.آیا مشکل از iis هست؟و اگر نه باید چیکار کنم؟
2-
آیا برای تگه php میتونیم از تگه اسکریپت استفاده کنیم و بعد لنگویجشو پی اچ پی کنیم؟این تگ چه فرقی با بقیه تگ ها داره و آیا اون رو میشه در یک فایل با پسونده html استفاده کنیم؟
واقعا ممنون میشم راهنماییم کنید(به خصوص درمورده سوال اولم)
باتشکر

لقمان آوند

سلام
1- ومپ و iis با هم به احتمال زیاد با هم تداخل دارند. مطمئن باشید آیکن ومپ سبز میشه و اگر نشد پورتش رو عوض کنید و مجدد تست کنید .
2- سلام خیر . هر دو موردی که گفتید امکان پذیر نیست و به همون روشی که در ویدیو گفتیم باید استفاده کنید.

iman12

با سلامی دوباره استاد.
آیکونه ومپ من سبز بوده و میتونم به لوکال هاست برم.ولی با این حال توابع echo و print کار نمیکنن و صفحه سفید میمونه.این درحالیه که میتونم از تابع phpinfo استفاده کنم و نتیجه اش هم در مرورگر میبینم.

لقمان آوند

فایل php تون رو برای من ایمیل کنید که ببینم …

iman12 replyپاسخ

استاد واقعا ببخشید این قدر مزاحمتون شدم.مشکل رفع شد و دلیلشم بخاطره این بود که فایله php با فرمت unicode ذخیره شده بود که اون رو به utf8-withoutbom تغییر دادم

iman12 replyپاسخ

سلام استاد سوالی داشتم.
آیا php هم مثل زبان python 3 این امکان رو داره که وقتی ما متغیری به نام v را تعریف میکنیم ابتدا به آن مقداری بعنوان مثال از جنس string بدهیم و در ادامه آن را معادل عددی قرار دهیم و نوعش را به integer تغییر دهیم؟ ویا نوع متغیر با اولین مقدار دهی و برای همیشه ثابت می ماند؟

لقمان آوند

بله امکانش هست و تایپ ها به صورت داینامیک هستند .

mehdi karimi replyپاسخ

سلام استاد اوند
من ضرورت استفاده از نوع داده پوینتر رو نفهمیدم میشه یه توضیح کوچیک بدید در موردش ، چون بدون علامت & هم مقدار یک متغیر برابر مقدار اون متغیر دیگه میشه یعنی بود و نبود & حداقل تو ظاهر هیچ فرقی نداشت اون چیزی که من ندیدم

لقمان آوند

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

سیروان replyپاسخ

سلام
میشه در مورد این متغیر ها توضیح بدید؟و چه کاربردی داره ؟
string
bool
double
array
دضمن میشه سایتی فارسی رو بهم معرفی کنید که کاربرد ارایه ها رو تعریف کنه؟

وحید صالحی

string متغییر رشته ای هست مثل یک متن,bool متغییری هست که یا مقدار false یر می گردونه یا true آرایه ها یا همون array نوعی از متغییر ها هستند که چندین مقدار رو بطور همزمان می توننن درون خودشون جای بدن double هم که بهش float هم میگن متونه مقدار اعداد اعشاری رو درخودش قرار بده در این دوره بطور کامل در مورد آرایه ها توضیح داده شده به هر حال منبعی مد نظر ندارم میتونید در گوگل جستجو کنید

سید احسان عظیمی replyپاسخ

سلام،ضمن تشکر از آموزش خوبتون،میخواستم بدونم آیا عمل TypeCasting دقیقا همون کار تابع SetType رو انجام میده؟

لقمان آوند

خیر typeCasting فقط نوع داده ی متغیر رو تغیر میده و برمی گردونه و تغیری در نوع خود متغیر ایجاد نمی کنه.
در صورتی که setType نوع رو عوض می کنه. شاید بهتر باشه با getType مقایسش کنید …

سید احسان عظیمی

پس
SetType : نوع متغیر را تغییر میدهد
typecasting:نوع داده ی متغیر را تغییر میدهد
شرمنده چون دارم آموزشتونو به صورت جزوه در میارم تا همیشه داشته باشم میخام مطمئن شم درست متوجه شدم یا نه؟

لقمان آوند

بله. فقط حواستون باشه که typeCasting نوع خود متغیر رو عوض نمی کنه. فقط مقدار اون متغیر رو در قالب نوعی که در نظر دارید تبدیل می کنه و برمی گردونه.

Pouriya Ariyafar replyپاسخ

سلام اقای آوند
من داشتم دوره php رو شروع میکردم سوالی داشتم ولی ظاهرا نظرات قسمت یک و دو این دوره بسته شده
من از XAMPP استفاده میکنم میخواستم ببینم فرقی با wamp داره؟ توی این دوره اگر ازXAMPP استفاده شه مشکلی نمیخورم؟ پیشنهاد شما کدومه
ممنون

لقمان آوند

خیر مشکلی نداره و اون هم خوبه …
شخصا با ومپ راحتترم ولی ممکنه شما طور دیگه ای راحت باشید 😉

Vahe1 Me replyپاسخ

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

وحید صالحی

سلام این دوره چون اولین دوره آموزشی سایت هست هنوز تجهیزات پیشرفته صدا تهیه نشده بود و صدا یکم ضعیف هست ولی نه در این حددی که شما می گید در جلسات آینده دوره صدا بهتر خواهد شد در ضمن برای مشاهده ویدئو ها از نرم افزار vlc و یا km player استفاده کنید کیفیت صدا بهتر و رسا تر خواهد شد

mohammadhosein haghshno replyپاسخ

سلام برای دانلود این همه فایل حجم اینترنت هم کم میشه ؟؟!!

وحید صالحی

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

محمدرضا replyپاسخ

سلام خسته نباشید خدمت اساتید محترم
استاد سوالی در مورد متغیر های pointer دارم
الان فرق result1 با resut2 چیه هردوشون مقدار $a رو درون خودشون ریختند میشه بگید کاراکتر& واسه چی استفاده میشه !؟‌

$a = 12 ; 
$result1 = &$a;
$result2 = $a
لقمان آوند

بعد از این سه خط مقدار a رو بزارید 20 و بعد result1 و result2 رو چاپ کنید. فرقشون رو متوجه میشید! این شکلی :
$a = 12 ;
$result1 = &$a;
$result2 = $a;
$a = 20;
echo " r1:".$result1;
echo " r2:".$result2;

نسرین مهراندیش replyپاسخ

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

لقمان آوند

ممنونم
لطف دارید
ایشالله با پشتکار ادامه بدید

میثم کمره ای replyپاسخ

مجبورم واسه باز کردن فایلها حتما بهش آدرس بدم چون داخل فولدر نمیره

لقمان آوند

چه مشکلی هست دقیقا متوجه نشدم …

mojtaba replyپاسخ

سلام استاد خسته نباشید من جدیدا این دوره رو خریدم زمان ساخت دوره سال ۹۳ هست آیا نیاز به آپدیت دوره و اضافه کردن نکات جدید نیست؟

کیوان علی محمدی

سلام دوره php7 نیازه که در برنامه انتشار داریم.

Seyed Reza Bazyar replyپاسخ

توی سیستم عامل مک KEYMAP هایی که به F1 تا F9 نیاز داشته باشند کار نمیکنند. دلیلش چیه؟
مثلا Shift + F6 که برای Rename هست کار نمیکنه! حتی توی تنظیماتش هم تعریف شده و توی سایتش هم ذکر شده
https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
راه حل این مشکل چیه؟

mojtaba replyپاسخ

سلام خسته نباشید من این دوره رو خریده ام ولی مثل اینکه مطالبش ماله 3 یا 4 ساله پیشه. مطالبش قابل استفاده هست؟

کیوان علی محمدی

سلام بله هنوز قابل استفاده هست.

حبيبه حسن ابادي replyپاسخ

سلام وقت بخیر، من نتونستم این قسمت رو دانلود کنم، لینک مشکل داره؟

Esmail Muhmmadzade replyپاسخ

با عرض سلام و احترام
قبل از هر چیزی ممنونم به خاطر آموزش های خوبتان.
آقای دکتر آوند در تمرینی که مربوط به Type Casting است چرا وقتی نوع های مختلف را به یک دیگر تبدیل می کنم یکسری از متغییر های دیگر را هم چاپ می کند.
مثلا وقتی نوع double را به boolean تبدیل و بعد با تابع printVar چاپش می کنم علاوه بر چاپ متغییر douBoolean متغییر strBoolean را که قبلا” تعریف کرده ام و یک بار هم در قسمت تبدیل نوع رشته به سایر نوع ها چاپ شده را باز مجددا چاپ می کند و مخصوصا در تبدیل نوع آرایه به سایر نوع ها اکثر متغییر هایی که قبل از تبدیل نوع آرایه به سایر نوع ها، تعریف کردم را همراه با تبدیل نوع آرایه به سایر نوع ها، مجددا” چاپ می کند و همچنین علاوه بر اینکه آرایه را به رشته تبدیل می کند اما خطا می دهد.

ارسال نظرات

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