آموزش گام به گام زبان php در n روز

Cyletech

Member
افکار شدید!

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

در زبان php، MAJIDONLINE با majidonline فرقی نداره اما خوب توصیه می کنم که از حروف بزرگ تا حد امکان استفاده نکنید چون دستور های خود php که نوشته شده با حروف بزرگ هستند و ویرایشگر برنامه شما دچار اختلال میشه مغزش :D

از خط زیر یا همون _ در اول نام متغیرهاتون استفاده نکنید! در کل سعی کنید در اول نام متغیرهاتون از اعداد و کاراکتر استفاده نکنید!

اگر مقادیر متغیرهاتون رو فارسی انتخاب می کنید بهتر هست که از:
<p align='right'> </p> استفاده کنید.
البته از این کد بالا در تابع echo یعنی قسمتی که برای نمایش هست استفاده میشه نه در خود مقدار متغیر!!!

تا همینجا بسته چون فعلا درسی نداریم! اما از این به بعد درس شدید میشه و بعد توضیح کمی در مورد مسائل در مورد ... به class و function و کپسوله سازی و ... می پردازیم!

موفق باشید :rose:
 

Cyletech

Member
وارد کردن html در php

در قسمتی از برنامه هامون نیاز داریم که html داشته باشیم اما این کار چطوری انجام بدیم؟
یک مثال میزنم تا متجه بشین:
PHP:
<?php

echo <<< HTML
<form action="send.php" method="post">
<input type="text" name="name">
<input type="submit" value="Send">
</form>
HTML;

?>

همونطور که دقت کردین. واسه اینکه نیاز داشتیم html بین php داشته باشیم اون رو بین <?php و ?> قرار دادیم
و ملاحظه کردید که چطوری شروع و بستیم!
دقت کنید در آخر کار کاراکتر ; رو حتما قرار بدید!
در html مثل php نیاز نیست که بعد از هر خط از کاراکتر ; استفاده کنیم!

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

PHP:
<html>
<head>
<title>majidonline.com</title>
</head>
<body>
<form action="send.php" method="post">
<input type="text" name="name">
<input type="submit" value="Send">
</form>
</body>
</html>

در اینجا دو راه برای وارد کردن html یاد گرفتین!
باید ذکر کنم که از راه اولی زمانی استفاده میشه که در اون فایل قصد ما بیشتر وارد کردن php هست تا html
در راه دوم هم فقط html داریم!
 

Cyletech

Member
سوالات پیش اومده

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

در زبان php فاصله و پشت سرهم نوشتن یا جدا جدا نوشتن معنی نداره!

با یک مثالی توضیح کامل تر میدم:
PHP:
<?php
$a = "majid"; $b= "saeed"; $v0id = ".v0id"; echo("$a . $b . $v0id");
?>

اما درست و مرتب نوشتن به شما در آخر کمک می کنه! و تمام کارهای درستی که انجام میدین برای خودتون هست. پس سعی کنید مرتب و تمیز بنویسید!
 

datasun

Member
خیلی خوبه ادامه بدید فقط توی کاراتون یک مثال با پیوست بزنید
 
آخرین ویرایش:

Cyletech

Member
خیلی خوبه ادامه بدید فقط توی کاراتون یک مثال با پیوست بزنید

دوست عزیز شیوه تدریس من فرق داره! اینطوری که شما میگین باشه، بهتر نیست خودمم بیام بجای شما تمرین و برنامه نویسی کنم؟
خوب شما باید خودتون متن رو بخونید و همانطوری که گفتم عمل کنید!!!
ضمیمه با شماست نه با من! شما باید کارهاتون رو بگذارید تا من مشکلاتون رو بگم
 

Cyletech

Member
دستور شرطی if و else و وارد کردن چندین شرط در دستور if

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

در زبان فارسی داریم با دوستمون نقشه میکشیم که چی؟ واسه یک تمیزکاری مثلا تمیزکاری کلاس درسمون! من میگم که:
اگر جارو رو برداریم سریعتر هست اما دوستم میگه نه اگه از ماشین (دستگاه های ماشینی) استفاده کنیم بهتر هست!

به قسمت های درشت متون بالا دقت کنید. در متن درشت اولی از سمت راست به چپ (اگر): همان دستور if
و متن (نه اگه) : همان دستور else می باشد.

با یک مثال بهتر متوجه میشین:

PHP:
<?php

$v0id = "It is me";

if($v0id == "It is me"){
echo("Yeah it is me");
}
else{
echo("No it is not me!");
}

?>

توجه: در درس بعدی در مورد کاراکترها توضیح کامل میدم (منظورم کاراکتر های مقدار دهی مثل == که همون برابر هست یا / که همان تقسیم هست!).

تحلیل کد بالا: در کد بالا ما به سیستم میگیم که اگه متغیر v0id برابر It is me بود yeah it is me را نمایش بده و در صورت اشتباه بودن (else) متون No it is not me! را نمایش بده!

خیلی ساده هست اما در عین حال بسیار شیرین

شکل صحیح و اصلی if و else بدین صورت است:
PHP:
if(expression){
// shorote shoma
}
else{
// shorote shoma
}

دقت کنید که بعد از هر خط دستور از کاراکتر ; (نقطه کاما) استفاده کنید تا مواجه با خطا نشین!



حالا در مورد وارد کردن چندین شرط در دستور if را میخوام براتون توضیح بدم. شکل این هم مثل بالا هست با این تفاوت که ما بین مقادیرمون از دستور and به معنی "و" استفاده می کنیم.

یک مثال ساده:

PHP:
<?php

$majid = "Majidonline";
$v0id = "v0id is me";

if($majid == "Majidonline" and $v0id == "v0id is me"){
echo("True");
}
else{
echo("False");
}

?>

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

تحلیل کد بالا: به سیستم میگیم که اگه متغیر majid برابر Majidonline و متغیر v0id برابر v0id is me بود نمایش بده True و اگه اشتباه بود نمایش بده False .

سوالاتی که ممکن هست براتون پیش بیاد:
1- چرا برای دستور else همانند if شروط قرار نمیدیم؟
جواب: برای اینکار یک دستور دیگه هست بنام elseif که بعدا در موردش توضیح داده میشه. اما در اینجا برای else مقادیری قرار ندادیم چون else به if وابسته هست یا بطور کل به شروطی که در پشت سر خودش قرار داده شده است! برای else هیچوقت نیازی نیست چیزی تعریف کنیم!!!

چندین سوال دیگه هم پیش میاد براتون که در درس های آتی براتون جوابش رو میدم. دلیل این کارم هم اینه که جوابش مربوط به یک درس دیگه میشه ، هست!


چندین تمرین:

1- یک کد بنویسید که اگه if درست نبود else اجرا بشه و بالعکس
2- یک کد بنویسید و در دستور if چند دستور وارد کنید و برای این کا هم توضیح دادم که از چی استفاده کنید هنگام چندین دستور.
 

mashaheer

Member
کاراکتر $ همیشه قبل از نامش میاد!
در زیر مثال هایی از متغیر های صحیح نوشتم:
کد PHP:
$Saeed
saeed $
saeed123 $
saeed_123 $
شما گفتید $ همیشه قبل از اسم متغیر میاد (و من هم اینجوری شنیده بودم) پس چرا مثال دوم و سوم که زدید بعد از اسم اومده؟:rose:
 

Cyletech

Member
شما گفتید $ همیشه قبل از اسم متغیر میاد (و من هم اینجوری شنیده بودم) پس چرا مثال دوم و سوم که زدید بعد از اسم اومده؟:rose:

نه اشتباه نکن! مشکل اینه که چون متون انگلیسی هستند و اینجا انجمن فارسی زبانان و متون از راست به چپ نوشته میشن اینطوری میشه :d
 

Cyletech

Member
تعریف کاراکتر های مقدار دهی(عملیات ریاضی)

در درس پیش گفتم که براتون توضیح میدم و دارم میدم :D

= یعنی مقدار دادن به یک چیزی با متغیر
== یعنی برابر یک چیزی قرار دادن
+ یعنی جمع دو مقدار با هم
++ افزایش یک عدد به عدد مورد نظر
- یعنی تفریق دو مقدار با هم
-- یعنی کاهش یک عدد از عدد مورد نظر
* یعنی ضرب دو مقدار با هم
/ یعنی تقسیم دو مقدار با هم
. یعنی وصل کردن دو یا چندین متغیر یا رشته های متنی با هم مثل $ali . $majid
> یعنی کوچکتر از فلان چیز
< یعنی بزرگتر از فلان چیز


باز هم داریم که مخلوط میشن با هم مثل:
=< یعنی بزرگتر یا مساوی
=> یعنی کوچکتر یا مساوی
و ...


موفق باشید ... :rose:
 

Cyletech

Member
سوالات و مشکلات پیش اومده

فرق بین " و ' رو در مطالب قبلی توضیح دادم و دیگه توضیح نمیدم که این مطلب موضوعش عوض نشه!
همین الان دقیقا بگم 5 دقیقه پیش داشتم به اسکریپت هایی که خودم نوشتم نگاه می کردم به یک چیزی برخوردم که براتون توضیح نداده بودم و گفتم بگم چون یکی از مباحث مهم در php هست.

زمانی که شما از دستور echo() برای نمایش یک متغیر یا رشته متنی استفاده می کنید مثل زیر عمل می کنید:

PHP:
<?php

$v0id = "What?";

echo("$v0id");

یا

echo("What?");

?>

اما تابحال خواستید که مثلا یک متن رو درون " و " قرار بدید؟ یا مثلا یک متن رو لینک کنید به یک صفحه؟
حالا چیکار کنیم؟

php زمانی که به " میرسه میفهمه که این یک رشته متنی هست و بعد آن وقتی دوباره به " میرسه میفهمه که تموم شده!

با یک مثل بهتر متوجه میشین:

PHP:
<?php

echo("Do you know <a href="http://www.majidonline.com/">Majidonline site?</a>");

?>

توجه: کد بالا اشتباه هست چون که وقتی به دومین " میرسه سیستم رشته متنی رو تموم فرض می کنه! پس بقیه چی؟
خوب اینجاست که با خطا مواجه میشیم.

پس چیکار کنیم؟
باید قبل هر " اضافی (هر " بجز دو " اصلی) یک بک اسلش (\) قرار بدیم. مثلا:

PHP:
<?php

echo("Do you know <a href=\"http://www.majidonline.com/\">Majidonline site?</a>");

?>

کمی رو کد بالا دقت کنید متوجه میشین که چی شد!

تمرین هم کنید لطفا چون قصد ما عادت دادن دستمون به زبان php هست. مثل نوشتن یک نامه.
چطور میدونید که جای تمبر کجاست و جای امضا کجا! این هم همینطور هست. گفتنش از من تمرین و حفظش از شما :rose:
 

Cyletech

Member
دستور elseif و طرز استفاده از آن

بنام خدا،

بعد از مدتی به درخواست چند دوست عزیز برگشتم و میخوام آموزش رو مجدد شروع کنم. در این درس میخوام دستور elseif و طرز کار و استفاده اون رو براتون توضیح بدم.
شما دستورات if و else رو یاد گرفتین و فهمیدین که چطوری مورد استفاده قرار میگیره. خوب شما کارآموز عزیز شاید دارید برای یادگیری بهتر روی یک اسکریپت کار می کنید و نیاز دارید که چندین if قرار بدید تا کارتون راه بیافته!
در اصل کار elseif عین همان if هست.

یک مثال توضیحی: ما یک متغیر داریم با مقدار v0id و دستوراتی میخوایم براش بنویسیم مثلا: اگه متغیر ما برابر Alireza شد این رو نشان بده و اگه برابر Ali شد این رو قرار بده و اگر هم Reza شد فلان چیز رو نشون بده و در آخر هم درغیراینصورت این متن رو نمایش بده.

مثال بالا در قالب برنامه:

PHP:
<?php

$v0id_92 = "v0id";

if ($v0id_92 == "Alireza"){
echo ("Salam Alireza jan!");
}

elseif ($v0id_92 == "Reza"){
echo ("Salam Reza jan!");
}

else {
echo ("Salam v0id Jan!");
}

?>
دقت کردین که دقیقا همان کار if رو می کنه و طرز نوشتنشم مثل همون هست!
اما چیزی که جالب هست در کار کردن با elseif این هست که:
1- زیبایی به نوشته هاتون میده
2- خواندن برنامه شما توسط خودتون یا ویرایشگران راحت تر هست
3- می توان از elseif هزاران هزار بار استفاده کنیم و استفاده از else هم مهم نیست یعنی اگه هم ننویسیش تأثیری نداره!


سوالات پیش اومده:
ممکن هست که سوال براتون پیش بیاد چه زمانی باید از elseif استفاده کنیم؟

جواب: زمانی که شما میخواین بیش از 2 تا شرط بنویسید!


تمرین کنید:

یک کد بنویسید که دارای متغیر v0id و مقدارش هم v0id_92 باشه و چند دستور بنویسید که مقداری که بهش دادیم اشتباه هست و سرانجام else اجرا بشه!
 
آخرین ویرایش:

datasun

Member
سلام
بسیار عالی بود استاد فقط یک " نذاشته بودید من الان گذاشتم

PHP:
<?php

$v0id_92 = "v0id";

if ($v0id_92 == "Alireza"){

    echo ("Salam Alireza jan!");

}

elseif ($v0id_92 == "Reza"){

    echo ("Salam Reza jan!");
}

else {

    echo ("Salam v0id Jan!");

}

?>

منتظریم
 

Cyletech

Member
دستور switch

این دستور روش دیگه ای برای تغییر مسیر حرکت اجرا شدن کدهاست. دستور switch فقط یک عبارت رو چک می کنه و می تونه این عبارت رو با مقادیر متفاوتی چک کنه و فقط کئی رو اجرا کنه که مقدارش True باشه.
در زیر فرم کلی رو نوشتم:
PHP:
switch (expression)
{
case result1:
//matni ke age meghdare result1 true bood namayesh dade beshe
break;

case result2:
//matni ke age meghdare result2 true bood namayesh dade beshe
break;


default:
// age hich kodom az maghadir bala dorost nabod besoorate pish farz matni ke vared kardid dar inja namayesh dade mishe
}

عبارت داخل پرانتز جلوی switch یعنی همون expression معمولا یک متغیر هست. در بین {و} شما case های مختلفی رو می تونید بزارید حتی هزار تا که توسط switch این ها با هم مقایسه میشن و اگه برابر بود کدی که مشخص کردین نمایش داده میشه. گذاشتن قسمت default هم اختیاری هست و در صورتی که متغیر با هیچ یک از مقادیر case ها برابر نباشه، دستورات داخل default نمایش داده میشه.

توجه کنید: قرار دادن دستور break; بعد از هر case الزامی هست چون این کار به سیستم میفهمونه که کار این case اینجا تموم میشه! و اگه قرار ندین سیستم به راه خودش ادامه میده تا برسه به مقدار default و اون رو اجرا می کنه و این چیزی نیست که می میخوایم.

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

PHP:
<?php

$mood = "mad";

switch ($mood){

case "happy":
echo ("Yes i am happy");
break;

case "mad":
echo ("Yes i am mad");
break;

default:
echo ("who is the mad");
}

?>

تحلیل کد بالا: ما یک متغیر با مقدار mad داریم و که توسط switch اون case ها رو چک می کنیم و هرکدوم که مقدارش برابر با مقدار متغیر mood ما بود اون نمایش داده میشه و در بالا هم case دومی ما درست بود و می بینید که متن اون نمایش داده شد!

توجه کنید که دستور default هرگز نیازی به break; برای به پایان رساندن نداره و جای default هم بهتر هست که آخر همیشه باشه البته اگه مثلا وسط یا اول بیاری سیستم با مشکل بر میخوره!


تمرین کنید:
یک متغیر با مقدار دلخواه بنویسید و با دستور switch یکسری case رو مقایسه کنید و در آخر هم همه غلط باشند و مقدار default نمایش داده بشه.
 

Cyletech

Member
سلام
بسیار عالی بود استاد فقط یک " نذاشته بودید من الان گذاشتم

PHP:
<?php

$v0id_92 = "v0id";

if ($v0id_92 == "Alireza"){

    echo ("Salam Alireza jan!");

}

elseif ($v0id_92 == "Reza"){

    echo ("Salam Reza jan!");
}

else {

    echo ("Salam v0id Jan!");

}

?>
منتظریم

بله درسته دوست عزیزم خیلی شرمندم از بس سریع مینویسم نمی دونم چی دارم می نویسم واسه خودم :D
خوب اصلاحش کردم. بازم ممنونم :rose:
 

Cyletech

Member
روش جالب عملگر شرطی علامت سوال (؟)

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

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

PHP:
(expression)?returned_if_expression_is_true:returned_if_expression_is_false;

مثال:

PHP:
<?php

$mood = "happy";

$show = ($mood == "sad")?"Yes i am sad":"No i am not sad";

echo("$show");

?>

تحلیل کد بالا: ما یک متغیر داریم با مقدار happy که میگیم به سیستم اگه این متغیر برابر sad بود این متن رو نشون بده و اگه نبود اون متن رو.

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

Cyletech

Member
حلقه while

بنام خدا،

در این درس هم میخوام در مورد حلقه while براتون بگم که یکی از علاقه های من در php هست.
کلمه while به معنی "تا موقعی که" هست و در زبان php هم کارش این هست که یک چیز تا طبق دستوری که بهش دادین تکرار می کنه. در زیر توضیح بیشتری میدم!

شکل کلی حلقه while در زیر براتون آوردم:
PHP:
while (expression) {
//do something
}

تا زمانی که عبارت while (منظور همان expression هست!) True باشد کد داخل while پشت سر هم اجرا میشه. معمولا شما داخل حلقه کاری می کنید که عبارت مرتباً تغییر کنه و یک جا False بشه تا دیگه ادامه داده نشه یا درغیراینصورت تا بینهایت ادامه پیدا می کنه!

برای مثال حلقه ای که در زیر براتون نوشتم مضارب عدد 2 رو نشون میده:
PHP:
<?php

$number = 1;

while ($number <= 10) {
echo ("$number * 2 = ".($number*2)."<br>\n");
$number++;
}

?>

تحلیل کد بالا: ما یک متغیر داریم که مقدارش 1 هست و با استفاده از حلقه while میگیم که برای نمایش این متغیر باید اون اعداد بدست اومده تعدادشون از 10 کوچکتر یا برابر 10 باشند. دستور echo() هم که قبلا خوندیم و در اینجا هم یک متنی برای زیبایی یا فهم بهتر نوشتیم بعد گفتیم که چیرو نمایش بده! در آخر هم اون متغیر رو با استفاده از کاراکتر افزودن ++ یک مقدار به اون متغیر اضافه کردیم.

سوالات پیش اومده:

سوال: آیا میشه متغیر رو داخل حلقه تعریف کنیم؟
جواب: خیر. حلقه while یک عبارت بیشتر بهش تعلق نمیگیره.

سوال: آیا => و >= با هم فرق دارند؟
جواب: بله. شما می تونید امتحان کنید و نتیجه میگیرید که جواب بهتون داده نمیشه و اگه داده بشه اونی که میخواستید نیست!

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

سوال: این عبارت ".($number*2)." یعنی چی؟
جواب: در اصل این هدف اصلی ما هست یعنی با نوشتن یک کد جوابمون رو بدست بیاریم. ما خواستیم که مضارب عدد 2 رو بدست بیاریم پس اون متغیر رو با استفاده از کاراکتر ضرب (*) ضربدر عدد 2 کردیم و اون رو برای اینکه سیستم با خطا روبرو نشه بین پرانتز و اونهارو بین دو " و دو . قرار دادیم.

سوال: چرا از عبارت $number++ استفاده کردیم؟
جواب: اگر استفاده نمی کردیم سیستم همون مقدار اون متغیر رو ضربدر عدد 2 میکرد و هیچ وقت هم به 10 نمیرسید تا سیستم متوقف بشه پس تا بینهایت میرفت!. یعنی بینهایت ها 1 ضربدر 2 داشتیم. با استفاده از عبارت بالا به سیستم گفتیم که در هر جوابی که میخوای بدی قبلش اون متغیر رو یک عدد بهش اضافه کن.


تمرین کنید:
یک کد بنویسید که از یک شروع بشه و مضارب عدد 13 رو نشون بده و این عمل هم تا 100 بیشتر نباشه!
لطفا اگه تمرین رو انجام دادید لینک دانلودش رو برام بزارید تا چک کنم.
 

datasun

Member
سلام من یک مشکلی دارم توی حلقه while دارم تمرینی که گفتید رو انجام دادم ولی مگه هر وقت به برنامه میگیم کوچتر مساوی نباید فقط تا اون عدد بره ولی جواب برنامه من تا 130 میره اینم از کد :

PHP:
<?php

    $num = 1;

    while($num<=10){

    echo("".($num*13)."<br>\n");

    $num++;
    
    }
?>

:rose:
 

Cyletech

Member
سلام من یک مشکلی دارم توی حلقه while دارم تمرینی که گفتید رو انجام دادم ولی مگه هر وقت به برنامه میگیم کوچتر مساوی نباید فقط تا اون عدد بره ولی جواب برنامه من تا 130 میره اینم از کد :

PHP:
<?php

    $num = 1;

    while($num<=10){

    echo("".($num*13)."<br>\n");

    $num++;
    
    }
?>
:rose:

دوست عزیز از اینکه حرفمو گوش دادی و تمرینت رو انجام دادی خیلی ازت ممنونم. :rose:
و حالا جواب سوالت!
ما اصلا با جواب کاری نداریم که! اونی که 130 نشون میده جواب 10 ضربدر 13 هست! شما تعداد جواب هاشون رو بشمارید کی میبینید شده 10 تا!
ما با استفاده از
PHP:
while($num<=10)
به سیستم میگیم که تعداد جواب هایی که به ما میدی برابر یا کمتر از 10 باشه نه اینکه جوابی که بهم میدی کمتر یا برابر 10 باشه!

امیدوارم متوجه شده باشی :cool:
 

Cyletech

Member
حلقه do و while

این حلقه خیلی باحال و جالب هست کارش چون دقیقا همون while هست اما سر و ته شده! بزرگترین فرقشم اینه که اول کدها اجرا میشن بعد درستی و نادرستی رو چک می کنه!

شکل کلی کد بصورت زیر هست:

PHP:
do {
}

while (expression);

توجه کنید که آخرین خط بعد while حتما باید از کاراکتر نقطه کاما (;) استفاده کنید.
این متد زمانی خیلی بدردمون میخوره که بخوایم که کدمون حداقل یکبار اجرا بشه حتی اگه شرایط while اتفاق نیافته!

یک مثال کلی:

PHP:
<?php

$num = 1;

do {
echo ("v0id is me!");
$num++;
}

while ($num>200 && $num<400);

?>

تحلیل کد بالا: ما متغیری داریم که مقدارش 1 هست و با استفاده از حلقه do اول متن رو نمایش دادیم و بعد یک عدد به مقدار متغیرمون اضافه کردیم. بعدش هم با استفاده از حلقه while دو شرط قرار دادیم که میگه مقدار بدست اومده برای متغیر باید از 200 بزرگتر و از 400 کوچکتر باشه!

سوالات پیش اومده:
سوال: کاراکتر & یعنی و اما چرا دو تا یعنی چرا &&؟
جواب: در درس های قبلی تمام این کاراکتر ها توضیح داده شده اما بازم میگم. این کاراکتر در زبان php یعنی و (and).
 

Cyletech

Member
حلقه for

بنام خدا،

قبل از توضیح کامل بگم که هیچ چیزی با استفاده از for بدست نمیاریم که نتونیم با whil بدست بیاریم! اما خوب بعضی موقع ها جلوه خاصی به کدمون میده این حلقه for . (فردوسی پور: ببین چیکار می کنه این حلقه for)
ببخشید خواستم شوخی کنم تا کمی از این حال و هوا بیایم بیرون! خوب بریم سر اصل مطلب: قبلش توضیح بدم که این حلقه کمی قواعدی تر و سخت تر از حلقه های قبلی و بعدی هستش. پس بیشتر روش کار و تمرکز کنید!!!

قالببندی این حلقه بصورت زیر هست:

PHP:
for (variable assignment; test expression; variable increment)
{
// code to be executed
}

توجه کامل کنید: هر عبارت داخل for باید حتما با یک کاراکتر نقطه کامل (;) از هم جدا بشن. معمولا اولین عبارت یک متغیر شمارنده هست. دومین عبارت، عبارت کنترلی loop (تکرار) هست و سومین هم برای اضافه کردن (++) یا کم کردن (--) هستش!

یک مثال کلی:

PHP:
<?php

for ($num = 1; $num<=10; $num++) {
echo ("$num * 4 equals ".($num*4)."<br />\n");
}

?>

تحلیل کد بالا: در حلقه for سه عبارت داریم که در اولی مشخص کریم متغیرمون رو که یک مقدار داره (مقدارش 1 هست). در دومی هم گفتیم تعداد جواب هایی که در هر سطر به ما میدی برابر یا مساوی 10 باشه و در سومی هم یک عبارت به مقدار متغیرمون اضافه کردیم.
در درس های پیش گفتیم که اگه یک عبارت به متغیر ندیم یا کم نکنیم سیستم تا عمر داره به ما جواب میده! پس باید قرارش بدیم!

توجه کنید که ما حتی می تونیم متغیر رو خارج از for مشخص کنیم مثل زیر:

PHP:
<?php

$num = 1;

for (;$num<=10; $num++) {
echo ("$num * 4 equals ".($num*4)."<br />\n");
}

?>

چیزی که جالب هست و باید به چشمتون خورده باشه این هست که با اینکه ما متغیر رو خارج از حلقه مشخص کردیم هنوز کاراکتر ";" سر جاش هست! چرا؟
چونکه: گفتیم به شما که این حلقه سه عبارت میگیره و باید جدا سازی از کاراکتر نقطه کامل (;) استفاده می کنیم. چون سه تا عبارت بهش داده میشه پس باید حتی اگه دو عبارت بهش بدیم باید حتما باز از ";" استفاده کنیم برای جدا سازی!

می دونم کمی پیچیده شد خوب براتون واضح تر میگم: چون این حلقه سه عبارت به خودش اختصاص میده پس باید هر سه دارای ";" باشند حتی اگه هر کدومشون رو نگذاریم. مثل مثال بالا که نشون دادم!

تمرین کنید:

چون همتون با html و css آشنایی دارین میخوام از خودتون یک ایده جالب بدین بیرون. بدین صورت که 3 جدول داشته باشیم و در هر جدول به ترتیب مضارب 2 - 9 - 17 رو بدست بیاره! توجه کنید که با فکر خودتون. در این تمرین چیز هایی باید استفاده کنید که هم به این درس نیاز دارید و هم درس های گذشته! [زیبایی فراموش نشه!!!]
توصیه می کنم که تمرین هاتون رو حتما اینجا بزارید تا ببینم!
 

جدیدترین ارسال ها

بالا