Train

PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش مقدماتی php


irerror
04-08-2011, 10:32 AM
سلام

کلیه این مطالب مطلق به دوست گلم Roxeta ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.


آموزش php مقدماتی تا پیشرفته

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


عموما همه براي شروع يادگيري يك زبان به دنبال منبعي ساده و جامع ميگردند كه باز هم عموما پيدا نميكنند ، كتب به درد بخوري هم كه تو بازار هست اصولا ترجمه شدند و چون مترجم خيلي برنامه نويس پيش رفته اي بوده كتاب خيلي فوق حرفه اي ترجمه شده و انگار داريد يك آثاز ادبي انگلستان رو مطالعه ميكنيد .

از اين رو من تصميم گرفتم php* رو به علاقه مندان به صورت خيلي ساده آموزش بدم و الان هم در خدمت شما هستيم .

اين آموزش براي چه كساني مناسب هست ؟

اگر تا حالا برنامه نويسي نكرديد حتي با زبان كد نويسي HTML هم آشنا نيستيد اين تايپيك بهترين گزينه براي شروع يادگيري شما هست ، شما ميتونيد با مطالعه مطالبي كه در اينجا قرار ميدم به صورت كلي به زبان PHP مسلط بشيد و صفحات مورد نياز خودتون رو به سادگي بنويسيد و حتي اگر خوب درساتون رو بخونيد و حرف هاي من رو گوش بديد خيلي سريع ميتونيد يك سايت كاملا پويا بنويسيد .

در صورتي كه شما با يكي از زبان هاي C و يا perel آشنا باشيد به سادگي هر چه تمام تر ميتونيد php* رو ياد بگيريد البته اين رو دوستان ميگن من خودم هيچ كدوم از اين بالايي ها رو بلد نيستم

پس همين الان اين تايپيك رو بوكمارك كنيد .

پيش نياز :خوب حالا كه ديگه نميشه هيچ چيز بلد نباشيد ! اينجوري حيفه ، يك اطلاعات كلي از وب داشته باشيد كافيه ، پيشنهاد ميكنم كار كردن با برنامه اي مثل فرونت پيج رو هم ياد بگريد ، اگر واقعا مشتاق باشيد نهايتا با صرف روزي 3 ساعت تا آخر همين هفته به فرونت پيج مسلط هستيد و PHP رو هم در كنارش داريد ياد ميگيريد .

براي يادگيري به چه چيزي احتياج داريد ؟

يك ويرايشگر متنساده و نرم افزار EasyPHP براي شروع كار با PHP مورد نياز هست .

پيشنهاد من براي ويرايشگر متن ++ Notepad يا PHP Designer هست ، در صورت موجود نبودن گزينه هاي فوق Notepad ويندوز بهترين گزينه هست .

EasyPHP چيست ؟

زبان PHP يك زبان سمت سرويس دهنده هست ( بعدا بيشتر توضيح ميدم ) در نتيجه ما نميتوانيم صفحاتي رو كه ميسازيم روي سيستم خودمون اجرا كنيم از اين رو برنامه هايي تهيه شده اند كه شرايط اجراي صفحات php* رو روي سيستم هاي خانگي فراهم ميكنند كه يكي از بهترين اين نرم افزار ها EasyPHP هست كه ما از همين استفاده ميكنيم .

EasyPHP شامل مفسر PHP ، بانك اطلاعاتي MySql نرم افزار PhpMyAdmin و Apache هست ، به طور كلي ما با EasyPHP يك سرور كوچك php بر روي سيستم خودمون راه اندازي ميكنيم تا بتونيم صفحات PHP رو اجرا و مشاهده كنيم .

EasyPHP رو از اين [فقط کاربران میتوانند لینک ها را مشاهده کنند برای عضویت اینجا را کلیک کنید]دريافت كنيد ( حدودا 15 مگابايت ) .

نكات :

[ به هيچ وجه در اين تايپيك پست ارسال نكنيد ]


- تمامي مطالب اين تايپيك توسط بنده نوشته ميشند ( میلاد ابوالحسنی ) و اگر مطلبي از سايت يا ... ديگري نقل بشه با ذكر منبع هست ، خواهش من از همه دوستان اين هست كه تا حد امكان مطالب اين تايپيك رو كپي نكنيد و در صورت كپي كردن لطف كنيد و لينك اين تايپيك رو هم در زير مطلب ذكر كنيد .

نظر و پیشنهاداتتون رو برام ارسال کنید خوشحال میشم :

یاهو : Tavos_Download
ایمیل : Milad.dark{at}gmail[dot]com

irerror
04-08-2011, 10:40 AM
سلام

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

پیش فرض آموزش php - درس دوم ، متغير ها --------------------------------------------------------------------------------

سلام ، در اين درس به صورت كلي با متغير كه اساس برنامه نويسي هست آشنا ميشيم و با برسي مثال هاي ساده اي روش كار با متغير ها رو ياد ميگيريم ، سوالاتي كه در طول تايپيك مطرح ميشند رو در پايان هر درس پاسخ ميدم .

متغير چيست ؟

متغير رو ميشه به يك ظرف تشبيه كرد كه هر زمان ميتونه حاوي يك مقداري باشه براي مثال يك ليوان رو در نظر بگيريد ، يك زمان ما در ليوان چاي ميريزيم و ازش استفاده ميكنيم يك بار آب ، در اين مثال ليوان متغير و آب و چاي محتويات يا همون مقدار متغير هستند .

متغير ها در php با علامت $ ( دلار ) مشخص ميشند ، به مثال زير توجه كنيد :



echo "ramin";



در درس قبل با دستور echo آشنا شديد اين دستور يك ورودي ميگره و اون رو چاپ ميكنه ، در مثال بالا كلمه ي ramin چاپ ميشه به اين مثال توجه كنيد :


echo "$age";


خوب همونطور كه قبلا گفتم در تابع echo ( در درس تابع ها بيشتر با مفهموم تابع آشنا ميشيد ) ، قسمتي كه در بين دو علامت " " ( نقل قول ) قرار ميگيره بخشي هست كه echo اون رو چاپ ميكنه ، در مثال اول ramin در بين نقل قول قرار گرفته پس كد ما كلمه ramin رو چاپ ميكنه ، در مثال فوق اصولا بايد كلمه age$ چاپ بشه اما $ (دلار) نشان دهنده اينه كه age يك متغيره و برنامه مقداري كه در متغير age هست رو چاپ ميكنه در مثال بعدي بيشتر متوجه ميشيد .

مثال :


$name="milad";



در خط نخست ابتدا با علامت $ مشخص ميكنيم كه قصد استفاده از يك متغير رو داريم اسمي كه پس از علامت دلار مياريم ميشه اسم متغير در اينجا name رو براي متغيرمون انتخاب كرديم ، با علامت مساوي = مقدار سمت راست مساوي رو در متغير ذخيره ميكنيم ، نقطه ويرگول هم كه نشان دهنده پايان دستور هست .


خوب طبق گفته هاي بالا الان يك متغير داريم به اسم name و توش يك متن ريختيم كه همون milad هست .


كد زير رو در نظر بگيريد :


echo"$name"";



دستور echo مياد مقداري كه بهش داديم ( مقداري كه درون " " هست ) رو چاپ كنه كه با مشاهده علامت دلار متوجه ميشه اين مقدار يك متن يا عدد و ... نيست ؛ بلكه يك متغير هست ، مقداري كه در متغير name ريختيم كلمه milad بود ، پس در خط بالا برنامه كلمه milad رو چاپ ميكنه .

نام متغير ها :

همينطور كه متوجه شديد بايد براي هر متغير يك نام مناسب انتخاب كنيم ، ما در نام گذاري متغير ها با محدوديت هايي رو به رو هستيم كه عمده اونها به اين صورت هست : نام يك متغير نميتونه با يك عدد شروع بشه ، استفاده از كاركتر هاي خاص مثل # , * , + , % , | , \ و خط فاصله - براي نام گذاري متغير غير مجاز هست .

نمونه هاي صحيح نام گذاري متغير :



$pm2

$text

$user_name

$user_2


نمونه هاي غلط نام گذاري متغير :


$ali^a

$21s

$5

$user-name


پیش فرض آموزش php - درس دوم ، متغير ها

--------------------------------------------------------------------------------

سلام ، در اين درس به صورت كلي با متغير كه اساس برنامه نويسي هست آشنا ميشيم و با برسي مثال هاي ساده اي روش كار با متغير ها رو ياد ميگيريم ، سوالاتي كه در طول تايپيك مطرح ميشند رو در پايان هر درس پاسخ ميدم .

متغير چيست ؟

متغير رو ميشه به يك ظرف تشبيه كرد كه هر زمان ميتونه حاوي يك مقداري باشه براي مثال يك ليوان رو در نظر بگيريد ، يك زمان ما در ليوان چاي ميريزيم و ازش استفاده ميكنيم يك بار آب ، در اين مثال ليوان متغير و آب و چاي محتويات يا همون مقدار متغير هستند .

متغير ها در php با علامت $ ( دلار ) مشخص ميشند ، به مثال زير توجه كنيد :





echo "ramin";



در درس قبل با دستور echo آشنا شديد اين دستور يك ورودي ميگره و اون رو چاپ ميكنه ، در مثال بالا كلمه ي ramin چاپ ميشه به اين مثال توجه كنيد :



echo "$age";



خوب همونطور كه قبلا گفتم در تابع echo ( در درس تابع ها بيشتر با مفهموم تابع آشنا ميشيد ) ، قسمتي كه در بين دو علامت " " ( نقل قول ) قرار ميگيره بخشي هست كه echo اون رو چاپ ميكنه ، در مثال اول ramin در بين نقل قول قرار گرفته پس كد ما كلمه ramin رو چاپ ميكنه ، در مثال فوق اصولا بايد كلمه age$ چاپ بشه اما $ (دلار) نشان دهنده اينه كه age يك متغيره و برنامه مقداري كه در متغير age هست رو چاپ ميكنه در مثال بعدي بيشتر متوجه ميشيد .

مثال :




$name="milad";



در خط نخست ابتدا با علامت $ مشخص ميكنيم كه قصد استفاده از يك متغير رو داريم اسمي كه پس از علامت دلار مياريم ميشه اسم متغير در اينجا name رو براي متغيرمون انتخاب كرديم ، با علامت مساوي = مقدار سمت راست مساوي رو در متغير ذخيره ميكنيم ، نقطه ويرگول هم كه نشان دهنده پايان دستور هست .


خوب طبق گفته هاي بالا الان يك متغير داريم به اسم name و توش يك متن ريختيم كه همون milad هست .


كد زير رو در نظر بگيريد :




echo"$name"";



دستور echo مياد مقداري كه بهش داديم ( مقداري كه درون " " هست ) رو چاپ كنه كه با مشاهده علامت دلار متوجه ميشه اين مقدار يك متن يا عدد و ... نيست ؛ بلكه يك متغير هست ، مقداري كه در متغير name ريختيم كلمه milad بود ، پس در خط بالا برنامه كلمه milad رو چاپ ميكنه .

نام متغير ها :

همينطور كه متوجه شديد بايد براي هر متغير يك نام مناسب انتخاب كنيم ، ما در نام گذاري متغير ها با محدوديت هايي رو به رو هستيم كه عمده اونها به اين صورت هست : نام يك متغير نميتونه با يك عدد شروع بشه ، استفاده از كاركتر هاي خاص مثل # , * , + , % , | , \ و خط فاصله - براي نام گذاري متغير غير مجاز هست .

نمونه هاي صحيح نام گذاري متغير :


$pm2

$text

$user_name

$user_2






نمونه هاي غلط نام گذاري متغير :





$ali^a

$21s

$5

$user-name



سعي كنيد هميشه نامي رو براي متغيرتون انتخاب كنيد كه متوجه بشيد براي چه كاري تعيين شده . براي مثال وقتي قصد داريد تو متغيري نام كاربري افراد رو ذخيره كنيد اسم متغير رو بزاريد user يا user_name تا استفاده ازش راحت تر باشه البته هيچ اجباري نيست .

نوع متغير ها :

هر متغيري كه در برنامه داريم بسته به محتوياتش داراي يك نوعي هست براي مثال متغير name$ كه بالاتر تعريفش كرديم و رشته ( كلمه ، جمله ) milad رو توش ريختيم از نوع String ( رشته اي ) هست .

در زبان هاي برنامه نويسي ديگر براي استفاده از متغير بايد اول برنامه متغير هاي مورد نياز رو تعريف كنيم يا در طول برنامه با ذكر نوع اون ها رو ايجاد كنيم براي مثال بايد بگيم : متغيري تعريف كن از نوع رشته اي و كلمه سلام رو در اون بريز ! اما در php* به صورت مستقيم يك متغير تعريف ميكنيم و سلام رو در اون ميريزيم خود php به صورت خودكار نوع متغير رو رشته اي در نظر ميگيره و نيازي به تعيين نوع توسط ما نيست .

انواع متغير ها در php به صورت زير هستند :

Boolean : متغيري كه حاوي True يا False هست و درستي يا غلط بودن شرط يا عملياتي رو در بر داره .
مثال :


$moteghayer=false;


Integer : متغيري كه حاوي مقداري عددي هست ( مثبت و منفي )


$moteghayer_1=3;
$moteghayer_2=-5;



Double يا Float : در اين نوع متغير اعداد اعشاري قرار ميگيرند .


$moteghayer=1.256;


String : يك مقدار رشته اي عددي


$moteghayer="hi ben"
$moteghayer="3"


سوال : اگر دقت كرده باشيد در قسمت Integer يك متغير تعريف كرديم كه حاوي عدد 3 هست ، و در مثال دوم قسمت string هم يك متغير داريم با مقدار 3 فرق اينها چيه كه يكي integer ( عددي ) و يكي String ( رشته اي ) در نظر گرفته ميشند ؟

نكته اينجاست كه متون و اعدادي كه ما بين علامت " " قرار گرفته و در يك متغير ريخته ميشند به عنوان يك رشته در نظر گرفته ميشند و php اون ها رو به ديد رشته نگاه ميكنه .

براي درك بهتر درس امروز و پاسخ به يكي از سوالات درس قبل بهتره اين مثال رو برسي كنيم .


$your_name="bahram";
echo "hi $your_name";


در خط اول يك متغير تعريف كرديم به اسم your_name و توش رشته bahram رو ريختيم ، در خط دوم رشته hi + محتوياتي كه در متغير your_name هست رو چاپ ميكنيم؛ خروجي قطعه كد بالا هست hi bahram .

حالا چند بار مقداري كه به بهرام ميديد رو تغيير بديد و نتيجه رو مشاهده كنيد مثلا به جاي bahram به متغير your_name بديد hamid و نتيجه رو ببينيد .

خوب تا اينجا متوجه شديد كه ميشه رشته و متغير ها رو در كنار هم چاپ كرد و يك ديد كلي رو نسبت به متغير پيدا كرديد در درس قبل در قسمتي گفتم :

echo تابعي هست كه مقدار دريافتيش رو چاپ ميكنه ! مقدار دريافتي بايد داخل دو تا " يا ' قرار بگيره كه بعدها فرقشون رو خواهيد فهميد .

خوب الان ميتونم فرق " " ( دابل كوتيشن يا نقل قول ) و ' ' ( كوتيشن ) رو بگم : فرض كنيد ما ميخوايم چاپ كنيم salam $be hame كد رو به صورت زير مينويسيم :


echo"salam $be hame";


برنامه كلمه salam رو چاپ ميكنه ميرسه به be$ فكر ميكنه اين قسمت يك متغير هست و كدها رو ميگرده تا ببينه مقدار اين متغير چقدر هست تا جايگزينش كنه و مقداري پيدا نميكنه و با خطا رو به رو ميشه ...

حالا برنامه رو به صورت زير بنويسيد و نتيجه رو ببينيد :


echo 'salam $be hame';


در نتيجه اگر متغيري رو بين كوتيشن قرار بديدم به ديد رشته در نظر گرفته ميشه نه متغير .

درس امروز هم تموم شد ، از امروز بعد از پايان هر جلسه چند تا تمرين و سوال ميزارم كه حل كنيد و تو يادگيريتون كمك كنه تمرين هاي هر درس رو در جلسه بعد حل ميكنم فعلا كه درس ها آسونه و تمرينا آبكي ، كلا من آسون درس ميدم تا آخر اين آموزش هم تمرينا همه آب دوغ خيارند اگر سوالي بود در خدمتم .

تمرين :

1 . برنامه اي بنويسيد كه با استفاده از دستور echo نام شما را چاپ كند با استفاده از متغير ( چقدر سخت )
2 . برنامه اي بنويسيد كه داراي يك متغير با يك محتواي رشته اي باشد و مقدار متغير را بين رشته salam gerami چاپ نماييد .

سوال :

1 . متغير زير از چه نوعي است ؟


$m1="%";


2 . محتويات متغير زير چيست ؟


$f="salam";

irerror
04-08-2011, 10:49 AM
سلام

کلیه این مطالب مطلق به دوست گلم Roxeta ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.



پیش فرض آموزش php - درس سوم ، محاسبات و كار با اعداد

در اين درس ياد ميگيريد چجوري بر روي اعداد كار كنيد با عملگر ها آشنا ميشيد ميتونيد با متغير ها محاسبات انجام بديد و ... سعي ميكنم از اين به بعد توضيح كمتري بدم و دروس رو با مثال هاي بيشتري پبش بريم .

يكي از بخش هاي اصلي برنامه نويسي كار با اعداد هست ، برنامه نويسي بدون اعداد يعني كشك بادمجون .

عملگر هاي حسابي :

همانند رياضي در php يك سري عملگر محاسباتي مثل جمع تفريق تقسيم و ... داريم كه طبق مثال هاي زير با روش كار كردنشون آشنا ميشيد :
echo 2+3;
در خط بالا با دستور echo مجموع 2 و 3 رو چاپ ميكنيم خروجي دستور فوق عدد 5 هست .
echo 6*8;
در قطعه كد فوق عدد 6 رو ضرب در 8 و چاپ ميكنيم خروجي دستور فوق عدد 48 هست ، به همين صورت ميتونيم اعداد رو تفرق ، تقسيم و ... كنيم ، ما مجبور نيستيم هميشه محاسباتمون رو چاپ كنيم به مثال زير توجه كنيد :
$majmo=14+11;
در كد بالا يك متغير تعريف كرديم به اسم majmo و مجموع اعداد 14 و 11 رو در اون ريختيم ، به عبارتي الان محتواي متغير majmo عدد 25 هست .
$sen=18;
$sene_jadid=$sen+2;
echo $sene_jadid;

برنامه بالا در خط دوم مقداري رو كه در متغير sen هست بعلاوه 2 ميكنه حاصل رو ميريزه در متغير sene_jadid و نهايتا در خط سوم sene_jadid رو چاپ ميكنه ، خروجي برنامه فوق عدد 20 هست .

افزايش و كاهش مقدار يك متغير به صورت تك واحدي :

خوب حالا فرض كنيد يك متغير داريد كه حاوي عدد 3 هست و ميخوايد 1 واحد بهش اضافه كنيد بشه چهار ، طبق اطلاعاتي كه تا حالا به دست آورديد كد رو به صورت زير مينويسيد :

$m=3;

در خط بالا متغيري تعريف كرديم با نام m كه حاوي عدد 3 هست ، حالا ميخوايم يك واحد بهش اضافه كنيم :


$m=$m+1;


كد بالا يعني مقدار متغير m بعلاوه يك بشه و حاصلش در متغير m ريخته بشه ، به عبارتي ديگر جايگزين بشه ، php يك روش آسون تري براي ما در نظر داره كافيه به جاي كد بالا كد رو به صورت زير بنويسيد :



$m++;



كد بالا يعني متغير m مساوي خودش بعلاوه 1 ، براي 1 واحد كم كردن هم از روش زير استفاده كنيد :


$m--;


نكته : به دو مثال زير توجه كنيد


echo ++$m;


در اين مثال ابتدا 1 واحد به متغير m اضافه شده و سپس مقدار m چاپ خواهد شد ،
echo $m++;
در اينجا ابتدا مقدار متغير m چاپ ميشه بعد يك واحد به m اضافه ميشه .

خلاصه نويسي با استفاده از عملگر هاي مركب :

به مثال زير توجه كنيد :


$m=3;
$n=6;
$m=$m+$n;


در اين مثال متغيري داريم با نام m كه حاوي عدد 3 هست و متغيري با نام n كه عدد 6 در اون هست در خط سوم ما دو متغير m و n رو جمع ميكنيم و حاصل اين محاسبه رو در متغير m ذخيره ميكنيم ، از اين روش براي تفريق تقسيم و ... هم ميشه استفاده كرد نمونه تقسيم اين روش به صورت زير هست :


$m=4;
$n=8;
$m / = $n;


روش ديگر ( خلاصه ) اين عمل به اين صورت هست :

$m=3;
$n=6;
$m+=$n;

نكته : شايد متوجه شده باشيد و براتون سوال پيش اومده باشه كه چرا من متغير رو در دستور echo بين كوتيشن قرار نداردم ! در دستور echo فقط رشته ها بايد بين كوتيشن قرار بگيرند ، متغير ها ميتونند قرار بگيرند ميتونند نگيرند ! اما اعداد ، اگر بين كوتيشن بزاريد كه به عنوان رشته در نظر گرفته و چاپ ميشند اگر نگذاريد كه به ديد عدد البته فرقي هم نميكنه .


$a="3";
$b="4";
echo $b+$a;


خوب تو كد بالا دو تا متغير داريم a و b كه هر دو داراي مقداري رشته اي هستند ! آيا رشته رو ميشه با هم جمع كرد ؟ مثلا ميشه حرف و رو با ب جمع كرد ؟ قطعا نميشه ، اما اصل متغير هاي بالا عدد هستند و ما با بين كوتيشن گذاشتن اونها كاري كرديم كه به ديد رشته ديده بشند اينجا php خودش دست به كار ميشه و نوع متغير ها رو به صورت عددي در مياره تا بتونه محاسبات رو انجام بده .

اولويت عملگرها :

به اين مثال توجه كنيد :

echo 2*3+5;

در كد بالا ابتدا كدام قسمت محاسبه ميشه ؟ اول 2 ضرب در 3 ميشه و حاصلش با 5 جمع ميشه يا بلعكس ؟ در تمام زبان هاي برنامه نويسي قواعدي براي اين بخش در نظر گرفته شده كه بهش اولويت عمگر ها گفته ميشه كه در رياضيات هم با اون مواجه هستيم .

به صورت كلي تقدم عملگرها در زبان هاي برنامه نويسي به صورت زير هست :

1 - منفي پشت پرانتز
2 - پرانتز
3 - توان
4 - ضرب و تقسيم
5 - درصد
6 - جمع و تفريق

با اين گفته ها نتيجه كد فوق چاپ عدد يازده خواهد بود ( ابتدا ضرب سپس جمع ).

درس امروز هم به پايان رسيد اميدوارم متوجه شده باشيد و در يادگيريتون موثر باشه .

موفق باشيد ميلاد .

تمرين :

1 - متغيري تعريف كنيد حاوي عدد 7 ، سپس با يك دستور ابتدا 1 واحد از متغير كم كنيد و سپس مقدار متغير را چاپ كنيد ( تنها در يك خط و با دو دستور ) .

2 - دو متغير تعريف كنيد كه اولي حاوي عدد 3 و دومي عدد 8 باشد ، سپس به استفاده از عملگر هاي مركب مجموع دو متغير را در متغير نخست ذخيره كنيد .

سوال :

1 - آيا خروجي كد زير برابر 21 است ؟

echo 2*9+1


پاسخ تمرين و سوال هاي درس قبل :

تمرين اول


$myname="milad";
echo $myname;


خروجي كد بالا milad هست ، در خط اول متغيري تعريف كرديم به اسم myname و رشته milad رو در اون ذخيره كرديم و در خط دوم با استفاده از دستور echo محتواي متغير myname رو چاپ كرديم .

تمرين دوم :


$moteghayere_ma="karbar";
echo"salam $moteghayere_ma gerami";


خروجي برابر salam karbar gerami هست ، در خط اول karbar يك رشته هست كه در متغيري به نام moteghayere_ma ذخيره شده و در خط دوم بين دو كلمه salam و gerami با دستور echo چاپ شده .

سوال اول : نوع متغير رشته اي هست زيرا در بين دو كوتيشن ( " " ) قرار گرفته .

نكته : در صورتي كه علامت هاي محاسباتي همچون + - * / % ^ در بين كوتيشن قرار نگيريد برنامه فكر ميكنه شما قصد داريد محاسباتي را انجام بديد و پاسخ محاسبات رو در متغير ذخيره كنه كه اعدادي براي محاسبه كردن در دو طرف % قرار نداره پس برنامه با خطا رو به رو ميشه ، لازم به ذكر هست كه ديگر علامت ها هم بايد بين دو كوتيشن قرار بگيرند و در غير اين صورت باز هم با خطا مواجعه ميشيم اما اين بار دليل بروز خطا اين هست كه اين علائم به عنوان رشته در نظر گرفته ميشوند و رشته بايد در بين دو كوتيشن قرار بگيرد .

irerror
04-08-2011, 10:58 AM
سلام

کلیه این مطالب مطلق به دوست گلم Roxeta ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.


پیش فرض آموزش php - درس چهارم ، توابع

در اين درس با مفهموم و نحوه كار كردن توابع آشنا ميشيد ، ياد ميگيريد كه چگونه تابع مورد نظر خودتون رو بنويسيد و ازش استفاده كنيد ، در طول دروس در هر بخش با توابعي آشنا ميشد درس بعدي كار با رشته ها هست كه در اون به معرفي توابع مهم رشته اي ميپردازيم پس اين درس پيش نيازي براي درس و دروس بعدي هست .

تابع چيست ؟

به طور كلي توابع اطلاعاتي از ما دريافت و تغييراتي رو بر روي اطلاعات دريافتي اعمال ميكنند و سپس اطلاعات تغيير يافته رو در قالب خاصي به ما بر ميگردونند ، اين حالت كلي تعريف توابع بود دقت كنيد كه حتما نبايد تغييراتي روي اطلاعات ايجاد بشه ،* براي مثال ما تابعي داريم به نام echo كه قبلا با اون آشنا شديد وظيفه اين تابع چاپ اطلاعات دريافتي هست .

چگونگي تعريف تابع :

در همين ابتدا بگم اين قسمت ممكنه گيج كننده باشه براي همين در كمال سادگي توضيحش دادم وقتي جايي رو متوجه نشديد ادامه بديد جلو تر به صورت كامل كد تجزيه و تحليل ميشه ...

همينطور كه متوجه شديد ما دو نوع تابع داريم ، يك سري توابع از پيش تعريف شده PHP مثل ( echo ) و نوع دوم توابعي هست كه ما بسته به نيازمون تعريف و ازشون استفاده ميكنيم .

براي تعريف تابع از كلمه كليدي Function استفاده ميشه ، به مثال زير توجه كنيد :



function myname(){

echo"milad";

}



كد بالا نمونه اي از تعريف يك تابع هست :

كلمه كليدي Function نشون دهنده اين هست كه قصد تعريف يك تابع رو داريم ، كلمه اي كه پس از Function آورده ميشه به عنوان نام تابع در نظر گرفته ميشه ، پس از نام تابع از دو پرانتز استفاده كرديم كه حاوي هيچ اطلاعاتي نيستند اين به اين معني هست كه تابع ما هيچ اطلاعاتي رو براي ايجاد تغييرات و يا اعمال دستوراتي بر روي اون دريافت نميكنه ، سپس با آورد } مشخص كرديم كه كد هاي بعد از } كدهاي اصلي تابع هستند و پس از اتمام كد ها به آوردن { قسمت بدنه تابع رو پايان داديم ،* نكته حائز اهميت اين هست كه در پايان تعريف تابع نيازي به گذاشتن ; نيست .

استفاده از تابع :

خوب در مثال فوق تابعي ساختيم با نام myname كه هيچ داده اي دريافت نميكنه ، در قسمت بدنه تابع هم درج كرديم :

echo"milad";
كد بالا قسمتي هست كه با استفاده از تابع ميتونيم اجراش كنيم ، خوب حالا هر جا بخوايم از اين تابع كه نوشتيم استفاده كنيم كافيه اسمش رو صدا بزنيم ، به صورت زير :


myname();



وقتي مفسر php به كد بالا ميرسه كل كدهاي صفحه رو جستجو ميكنه تا برسه به :


function myname(){



حالا شروع ميكنه به اجرا كردن كد هاي بعد از } كه در تابع ما كد زير هست ( در بدنه درج شده ) :


echo"milad";



وقتي مفسر رسيد به { متوجه ميشه قسمت دستورات تابع هم به پايان رسيد و بر ميگرده به خطي كه تابع رو توش صدا زديم و ادامه خطوط رو اجرا ميكنه ، بايد متوجه شده باشيد كه اين تابعي كه ما ساختيم كلمه milad رو چاپ ميكنه .

چرا از تابع استفاده ميكنيم ؟

خوب بعد از توضيحات بالا بهتر ميتونيد به اين موضوع پي ببريد ، فرض كنيد ما در يك صفحه بايد به تعداد بالا در مكان هاي مختلف يك كلمه مثلا milad رو چاپ كنيم در نتيجه بايد با دستور echo در مكان هاي مورد نياز اين كلمه رو چاپ كنيم ، اما با استفاده از تابع ابتدا تابعي تعريف ميكنيم كه با صدا زدنش كلمه ميلاد چاپ بشه و هرجا نياز به چاپ كلمه milad بود به جاي استفاده از دستور echo تنها اسم تابع رو صدا ميزنيم ، البته اين تنها مثال كوچيكي بود در برنامه هاي بسيار گسترده ميشه پي به اهميت توابع برد .

آرگومان چيست ؟ آرگومان يا شناسه همون قسمتي از تابع هست كه تا حالا بهش ميگفتيم اطلاعات دريافتي به مثال زير توجه كنيد :


echo"milad";



در كد بالا echo تابع و milad آرگومان هستند ، برخي توابع هستند كه هيچ آرگوماني نميگيرند مثل تابعي كه ما تعريف كرديم برخي 1 يا چند آرگومان ميگيرند ، بعضي توابع هم يك يا چند آرگومان اجباري و يك يا چند آرگومان اختياري دارند در ادامه با نحوه تعريفشون آشنا ميشيد .

تعريف تابعي كه آرگومان ( شناسه ، اطلاعات ) ميگيره :

خوب در اين قسمت ميخوايم تابعي تعريف كنيم كه 2 آرگومان بپذيره و اون ها رو ضرب در هم كنه و نتيجه رو چاپ كنه .


function zarb($a,$b){

$c=$a*$b;
echo $c;

}



طبق معمول تعريف تابعمون با كلمه function شروع ميشه نام تابع رو گذاشتيم zarb خوب رستيم به قسمت مهم ، در اينجا همينطور كه ميبينيد 2 متغير a و b رو در پرانتز با علامت , ( ويرگول ) از هم جدا كرديم ، اين به اين معني هست كه تابع ما دو داده ( شناسه ،* آرگومان ) ميگيره ، اولي رو ميريزه توي a و دومي رو ميريزه توي b ، سپس با } قسمت بدنه تابع شروع شده و در اون دستورات :


$c=$a*$b;
echo $c;



ذكر شدن ، در خط اول مقدار هايي كه به متغير a و b داده شدن در هم ضرب ميشند و در متغير c ذخيره ميشند و در خط دوم مقدار c چاپ ميشه .

اجرا كنيم : خوب حالا هر جا بخوايم از تابع فوق استفاده كنيم بايد نام تابع رو به همراه آرگومان ها صدا بزنيم .


zarb(3,4);


وقتي مفسر به كد بالا ميرسه به دنبال تابع zarb ميگرده تا اينكه ميرسه به كد زير :


function zarb($a,$b){


مفسر عدد 3 رو ميريزه توي a عدد 4 رو ميريزه توي b و ميره به قسمت بدنه تابع تا كد ها رو اجرا كنه :


$c=$a*$b;
echo $c;



در خط اول مقدار a ضربدر مقدار b ميشه نتيجه برابر 12 هست ، 12 ريخته ميشه توي c و در خط بعد c چاپ ميشه .

پس اگر از تابع zarb به صورت زير استفاده كنيم نتيجه 20 هست .


zarb(5,4);


تابع با آرگومان هاي بيشتر :

خوب همينطور كه فهميديد در قسمت تعريف تابع وقتي براي هر آرگومان يك متغير در نظر ميگيريم متغير ها رو با , از هم جدا ميكنيم حالا اگر بخوايم تابعي به 3 آرگومان تعريف كنيم به صورت زير عمل ميكنيم :


function name_tabe($a,$b,$c){

//dastorat

}


و براي تعريف يا مقدار دهي تابع هايي با آرگومان هاي بيشتر هم به همين ترتيب .

نكته : متغير هايي كه در توابع استفاده ميشند در محتواي متغير هايي كه در برنامه هستند تغييري ايجاد نميكنند .
نكته : شما ميتونيد براي گرفتن آرگومان يا در تابع از هر نامي براي متغير هاتون استفاده كنيد .

خوب تا الان با چند نوع تابع آشنا شديد : تابعي كه هيچ آرگوماني نميگيره اولين تابع اي كه نوشتيم ، تابعي كه يك آرگومان ميگيره مثل echo ، تابعي كه چند آرگومان ميگيره آخرين تابعي كه نوشتيد .

الان ميخوايم نحوه توليد تابعي كه آرگومان با مقدار پيش فرض داره رو ياد بگيريم يا همون اختياري ( اختياري به اين معني كه ميتونيم مقداري رو بهش بديم يا اينكه هيچ مقداري بهش نسبت نديم ) :


function chap($a="milad"){

echo $a;

}


خوب در كد بالا تابعي تعريف كرديم با نام chap كه يك آرگومان اختياري ميگيره ، حالا ميتونيم به دو روش تابع رو صدا بزنيم .

1 . به آرگومان محتوا اختصاص بديم ، مثال :


chap("sara");



همانند تابعي قبلي كه نوشتيم ، كلمه sara ريخته ميشه تو متغير a و سپس چاپ ميشه .


2 . به آرگومان محتوايي نسبت نديم ، مثال :



chap();


در اين روش وقتي براي تابع مقداري ارسال نشه ، مقدار پيشفرضي كه در قسمت تعريف تابع انتخاب شده به عنوان آرگومان ارسالي درنظر گرفته ميشه ،* تابع اي كه تعريف كرديم رو ببينيد :


function chap($a="milad"){

echo $a;

}


به متغير a مقدار milad رو داديم اين مقدار همون مقدار پيش فرض هست .

دقت كنيد امكان ايجاد تابعي با آرگومان هاي تركيبي هست : مثلا تابعي كه 1 آرگومان اجباري و 5 آرگومان اختياري بگيره ،* تابعي كه 2 آرگومان اجباري بگيره و ...

برگرداندن يك مقدار توسط تابع :

خوب تا حالا هر تابعي كه تعريف كرديم يك مقداري رو چاپ ميكرد حالا فرض كنيد ما ميخوايم يك تابع تعريف كنيم كه مقداري رو برگردونه ،* يعني آرگومان هايي رو بگيره عملياتي رو روشون انجام بده نتيجه رو چاپ نكنه ، براي اين كار بايد از كلمه return استفاده كنيد .

مثال :



function sum($a,$b){

$c=$a+$b;
return $c;

}


در مثال بالا متغيري تعريف كرديم با نام sum كه دو آرگومان داره ، اطلاعات دريافتي رو در a و b ذخيره ميكنه سپس مجموع a و b رو در متغير c ميريزه ، سپس با دستور return مقدار c رو برگردوندم ، براي كنترل مقدار برگشت داده شده بايد مقدار در يك متغير ذخيره بشه ، روش استفاده از تابع فوق به اين صورت هست :


$sum=sum(7,3);


خوب طبق معمول وقتي مفسر ميرسه به اين خط ميگرده تا تابع رو پيدا كن 7 رو ميريزه توي a و 3 رو در b سپس ميره به بدنه تابع a و b رو جمع ميكنه و ميريزه در c در خط بعد با استفاده از دستور return اشاره كرديم كه ميخوايم مقدار c برگشت داده بشه ، مفسر بر ميگرده به خطي كه تابع صدا زده شده مقدار برگشت داده شده رو ميريزه توي متغير sum .

اين هم از درس امروز ، اميدوارم مفيد واقع شده باشه و همه چيز رو متوجه شده باشيد اگر جايي مشكلي داشتيد به اين تايپيك بريدو سوالتون رو مطرح كنيد ، خوشحال ميشم كه نظرات و پيشنهاداتتون رو هم ذكر كنيد البته در همون تايپيك .



| ________ درس بعد كار با رشته ها ________ |

Sil3nt Di3
04-08-2011, 11:08 AM
ممنون بابت فعالیتت..

اما قوانین رو داری زیر پا می ذاری... ایجاد تاپیک های متعدد برای یک آموزش باعث بی نظمی می شه!! من همه پست هاتو ادغام می کنم و اگه می خوای آموزش بدی همه رو در یک پست آموزش بده... این آموزش هم در بخش هست ولی ادامه بده ان شا الله که آموزش شما بهتر باشه...

موفق باشی...

irerror
04-08-2011, 11:10 AM
سلام

کلیه این مطالب مطلق به دوست گلم Roxeta ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.


پیش فرض آموزش php - درس پنجم ، کار با رشته ها

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

در درس گذشته با توابع ، انواع توابع ، روش تعریف و استفاده ازشون آشنا شدید و در این درس با رشتها کار میکنیم و با برخی از توابع مهم رشته ای و روش استفاده از اونها آشنا خواهید شد .

یادآوری :

همینطور که به یاد دارید برای چاپ رشته ای مثل salam $ara khobi توسط تابع echo ، رشته رو بین دو ' ( کوتیشن ) قرار میدادیم نه " ( دابل کوتیشن ) چون وقتی رشته فوق درون دابل کوتیشن قرار بگیره مفسر php با اون به عنوان یک متغیر برخورد میکنه و وقتی متوجه میشه این متغیر مقداری نداره خطا صادر میکنه ، اما زمانی که رشته فوق بین کوتیشن قرار بگیره به صورت کاملا رشته ای در نظر گرفته میشه و همونطور که دیده میشه چاپ خواهد شد .

مثال :
echo "salam $ara khobi";
در مثال فوق مفسر وقتی به ara$ برسه فکر میکنه متغیر هست و به دنبال مقدارش میگرده وقتی مقدار رو پیدا نمیکنه خطا میده ، در صورتی که منظور ما این بود که ara$ رو به همین صورت چاپ کنه ، برای رفع این مشکل به صورت زیر عمل میکردیم .
echo 'salam $ara khobi';
حالا فرض کنید متغیری داریم با نام name$ که دارای مقدار milad هست و قصد داریم مقدار این متغیر رو در پایان رشته salam $ara khobi چاپ کنیم . یعنی خروجی مد نظر ما این هست -> salam $ara khobi milad .

اگر به روش اول عمل کنیم تمام متغیر های درون دابل کوتیشن به دید متغیر دیده میشند و مفسر مقدار name$ رو پیدا و مقدار ara$ رو نمیکنه و در نتیجه خطا میده ، اگر به روش دوم عمل کنیم مفسر تمام متغیر های بین کوتیشن ها رو به دید رشته میبینه و خروجی برابر salam $ara khobi $name میشه .

پس چه کنیم ؟ برای رفع این مشکل باید رشته رو بین دابل کوتیشن قرار بدیم و قسمتی رو که قصد داریم به دید رشته دیده بشه قبلش \ ( بک اسش ) قرار بدیم .

در نتیجه کد مورد نظرمون به صورت زیر خواهد بود :
echo "salam \$ara khobi $name
در این نوع کد نویسی مفسر تمام متغیر های که قبلشون \ ( بک اسلش ) هست رو به دید رشته و سایر متغیر ها رو به دید متغیر در نظر میگیره .

ما از بک اسلش میتونیم در جاهای دیگه ای هم برای رفع ابهام استفاده کنیم به مثال زیر توجه کنید :
echo "salam " khobi ? ";
در مثال بالا ما میخوایم بین کلمه salam و khobi یک دابل کوتیشن چاپ کنیم ! مفسر وقتی به echo میرسه متوجه میشه باید یک مقدار رو چاپ کنه وقتی به " اول میرسه متوجه میشه ادامه کارکتر ها رشته ای هست که باید چاپ کنه salam رو چاپ میکنه وقتی میرسه به " دوم متوجه میشه قسمتی رو که باید چاپ کنه به پایان رسید بعد میرسه به khobi که توسط دابل کوتیشن یا کوتیشنی محصور نشده و خطا صادر میکنه ، برای رفع مشکل بالا میتونیم به دو روش زیر عمل کنیم :

روش اول استفاده از بک اسلش قبل از دابل کوتیشن دوم هست برای اینکه مفسر متوجه بشه این دابل کوتیشن برای پایان دادن رشته نیسته و خودش جزو رشته ای هست که باید چاپ بشه :
echo "salam \" khobi ? ";
روش دوم قرار دادن رشته بین کوتیشن هست :
echo ' salam " khobi ? ';
در کوتیشن هم به همین صورت است .

کد غلط :
echo ' salam ' khobi ? ;
کد صحیح روش اول :
echo 'salam \' khobi ?' ;
کد صحیح روش دوم :
echo "salam ' khobi ?" ;
کنار هم قرار داردن دو رشته یا متغیر :

برای کنار هم قرار دادن رشته ها یا متغیر ها از کارکتر نقطه . استفاده میکنیم .

مثال :
echo "salam"." milad";
خروجی کد فوق salam milad هست ( به فاصله ابتدای دابل کوتیشن از milad توجه کنید همین فاصله باعث چاپ ایجاد فاصله بین salam و milad میشه اگر این فاصله رو نگذاریم چاپ میشه salammilad ) . یعنی کد فوق مثل کد زیر هست :
echo "salam milad";
کد زیر هم مثل کدهای بالا عمل میکنه :

$a="salam";
$b=" milad";
echo $a.$b;

در متغیر a کلمه salam رو ریختیم ، در متغیر b کلمه milad و در تابع echo محتوای متغیر های a و b رو با نقطه به هم الحاق و چاپ کردیم .

ما میتونیم از این روش ( استفاده از نقطه ) برای کنار هم قرار دادن چند متغیر رشته ای و ریختن رشته الحاق شده در یک متغیر دیگر هم استفاده کنیم .

مثال :

$a="salam";
$b=" milad";
$c=$a.$b

در مثال فوق متغیر c حاوی رشته salam milad هست .

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

مثال :

echo "salam".$a.$b." khobi?".$c.$name." oh"." saied";

توابع رشته ای :

در این قسمت درس با تعدادی از توابع رشته ای مهم و کاربردی آشنا میشم .

تابع strlen : این تابع تعداد کارکتر های یک رشته یا متغیر رشته ای رو بر میگردونه .

مثال 1 :

$c=strlen("salam");
echo $c;

مثال 2 :

echo strlen("salam");

در مثال های فوق مفسر تعداد کارکتر های رشته داده شده به تابع رو شمارش میکنه و مقدارش رو برمیگردونه ، مقدار چاپ شده در هر دو مثال فوق برابر 5 خواهد بود .

مثال 3 :

$f=strlen("salam milad");

مثدار متغیر f در کد فوق برابر 11 خواهد بود : salam پنج کارکتر ، فاصله بین salam و milad یک کارکتر و milad هم پنج کارکتر که جمعا 11 کارکتر میشه .

تابع strpos : موقعیت یک کارکتر در یک رشته را بر میگرداند و شمارش از صفر خواهد بود .

نحوه استفاده : (کارکتر مورد جستجو , رشته)strpos

مثال :
echo strpos("salam","a");
در مثال مفسر به دنبال حرف a در رشته salam میگرده و موقعیت اون رو بر میگردونه در این مثال عدد 1 چاپ میشه ، شمارش از صفر خواهد بود به این معنی هست که موقعیت s صفر هست موقعیت a یک موقعیت l سه و به همین ترتیب ... ، به بیانی دیگر یعنی شمار از عدد صفر شروع میشه .

اگر متوجه شده باشید در salam دو a داریم در این شرایط موقعیت a ای برگردانده میشه که جلوتر باشه .

مثال :
echo strpos("milad","d");

در مثال بالا عدد 4 چاپ میشود .

مثال :

$name="saied";
$pos=strpos("$name","e");

در این مثال عدد 3 در متغیر pos ریخته میشود .

نکته : اگر کارکتر مورد جستجو در رشته وجود نداشته باشه مقدار false برگشت داده میشه ( به معنی غلط یا ناصحیح ) در درس بعدی ( شروط و هدایت برنامه ) با مفهوم false بیشتر آشنا میشید .

تابع بعدی substr هست : با این تابع میتونیم قسمتی از یک رشته رو جدا کرده و برگردونیم .

نحوع استفاده : ( تعداد کارکتر ها برای برش , شروع برش از , رشته )substr

در این تابع هم شمارش از صفر هست .

مثال :
echo substr("milad",2,3);
وقتی مفسر به کد فوق میرسه ابتدا تا 2 شمارش میکنه m صفر ، i یک ، l دو ، پس روی l میمونه بعد 3 تا کارکتر باید جدا کنه تو جدا سازی شمارش از یک هست ، یک l ، دو a ، سه d پس lad رو برمیگردونه و echo چاپ میکنه lad .

مثال :
echo substr("salam sara",4,3);

در مثال فوق m s چاپ میشه .

مثال :

$c=substr("world",0,2);

در مثال بالا رشته wo در متغیر c ریخته میشه .

نکته : آرگومان سوم تابع substr اختیاری هست و درصورتی که وارد نشه رشته از محل مشخص شده تا انتها برش داده میشه .

تابع strstr : ادامه رشته را از کارکتر مشخص شده به بعد جدا میکنه ، فرض کنید متغیری داریم با نام email$ که پست الکترونیک کاربر رو در اون ریختیم و حالا بخوایم از حرف @ به بعد پست الکترونیک فرد رو جدا کنیم ( یا همون سایت سرویس دهندش رو جدا کنیم ) ، در حالت عادی ابتدا باید با استفاده از تابع strpos موقعیت @ رو پیدا کنیم بعد از substr برای برش دادن استفاده کنیم ، تابع strstr به ما کمک میکنه به جای استفاده از 2 تابع از تنها از 1 تابع استفاده کنیم .

مثال بدون استفاده ازstrstr

$email="[Only registered and activated users can see links]";
echo substr($email,strpos($email,"@"));

مثال با استفاده از تابع strstr

$email="[Only registered and activated users can see links]";
echo strstr($email,"@");


در هر دو مثال مقدار خروجی برابر yahoo.com@ هست .

تابع strtoupper : تمام حروف یک رشته را به حروف بزرگ تبدیل میکند .

مثال :

echo strtoupper("salam")

خروجی کد فوق برابر SALAM خواهد بود .

تابع strtolower : تمام حروف یک رشته را به حروف کوچک تبدیل میکند .

مثال :
echo strtolower("sAlaM");
خروجی کد فوق برابر salam خواهد بود .

نکته : اگر تمام حروف یک رشته کوچک باشد strtolower هیچگونه تاثیری روی آن رشته نمیگذارد همینطور strtoupper بر روی رشته ای که تمام حروف آن بزرگ است تاثیری ندارد .

تابع ucfirst : حرف اول یک رشته را بزرگ میکند .
تابع lcfirst : حرف اول یک رشته را کوچک میکند .

مثال :

echo ucfirst("salam");
echo lcfirst("SALAM");

در خط اول چاپ میشود Salam در خط دوم sALAM .

تابع uswords : حرف اول تمام کلمه های یک رشته را حروف بزرگ میکند .

مثال :


echo ucwords("salam milad");

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

میلاد


| __ درس بعد شروط و هدایت جریان برنامه __ |

irerror
04-08-2011, 11:32 AM
سلام

کلیه این مطالب مطلق به دوست گلم Roxeta ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.

دستور IF
عملگر تساوی
تابع Die
Else
Else If
مفهموم True و False
عملگر های مقایسه ای
جدول عملگرهای مقایسه ای به همراه مثال
عملگر های منطقی به همراه جدول
عمل گر || و or
عملگر && و and
عملگر xor
عملگر not
دستور switch
break چیست
Default چیست
عملگر ?
حلقه های تکرار
حلقه for
حلقه while
حلقه do while
خروج از حلقه با استفاده از break
صرف نظر از اجرای حلقه با استفاده از continue
مثالی کاربردی برای کار با حلقه ها

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

موفق باشید.
Finish
دوستان گلم شرمنده که نشود همشو 1 جا قرار بدم قست spam ندارم ولی تهداد کاراکترها زیاد بود و نمی شود توی 1 post قرار بدم

irerror
04-11-2011, 09:21 AM
سلام

کلیه این مطالب مطلق به داداش گلم Army.Hidden ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.

دستورات شرطی
اگر بخواهیم به داده هایی که کاربر به صورت ورودی در برنامه وارد میکند جواب منطقی دهیم باید قدرت تصمیم گیری داشته باشیم ، ساختارهایی که به برنامه اجازه تصمیم گیری می دهند را ساختار شرطی (Conditionals) گفته می شود.

دستور IF
از دستور if برای تصمیم گیری استفاده می شود . به این دستور شرطی اضافه می کنیم و در صورت درست بودن شرط بلوک کدی که پس از آن قرار گرفته است اجرا می شود.
ساختار کلی :

if (expr)
statement

expr = شرط
statement = کد یا بلوک کدی که در صورت دست بودن شرط اجرا می شود.
برای مثال :

<?php
$a = 10;
$b = 5;
if ($a > $b)
echo "a is bigger than b";
?>


در مثال بالا در صورتی که متغیر a از متغیر b بزرگتر باشد دستور echo اجرا می شود و مقدار a is bigger than b چاپ می شود .

در صورتی که میخواهید در صورت درست بودن شرط یک بلوک کد اجرا شود ( در مثال بالا فقط یک دستور اجرا می شود ) در ابتدا و انتهای بلوک از } و { استفاده کنید .
ساختار کلی :


if (expr)
{
statement
}


مثال :

<?php
$a = 10;
$b = 5;
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>


پیش فرض دستورات شرطی - بخش اول
دستورات شرطی
اگر بخواهیم به داده هایی که کاربر به صورت ورودی در برنامه وارد میکند جواب منطقی دهیم باید قدرت تصمیم گیری داشته باشیم ، ساختارهایی که به برنامه اجازه تصمیم گیری می دهند را ساختار شرطی (Conditionals) گفته می شود.

دستور IF
از دستور if برای تصمیم گیری استفاده می شود . به این دستور شرطی اضافه می کنیم و در صورت درست بودن شرط بلوک کدی که پس از آن قرار گرفته است اجرا می شود.
ساختار کلی :
کد PHP:
if (expr)
statement
expr = شرط
statement = کد یا بلوک کدی که در صورت دست بودن شرط اجرا می شود.
برای مثال :
کد PHP:
<?php
$a = 10;
$b = 5;
if ($a > $b)
echo "a is bigger than b";
?>
در مثال بالا در صورتی که متغیر a از متغیر b بزرگتر باشد دستور echo اجرا می شود و مقدار a is bigger than b چاپ می شود .

در صورتی که میخواهید در صورت درست بودن شرط یک بلوک کد اجرا شود ( در مثال بالا فقط یک دستور اجرا می شود ) در ابتدا و انتهای بلوک از } و { استفاده کنید .
ساختار کلی :
کد PHP:
if (expr)
{
statement
}


مثال :
کد PHP:
<?php
$a = 10;
$b = 5;
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>
2 خطی که در آکولاد قرار دارند و عنوان یک بلوک کد در نظر گرفته می شوند.اگر شرط درست باشد همه خطوط داخل بلوک کد اجرا می شود و اگر شرط نادرست باشد هر 2 خط نادیده گرفته می شود.

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

<?php
$a = 10;
$b = 5;
if ($a > $b) {
echo "a is greater than b";
} else {
echo "a is NOT greater than b";
}
?>

شما میتوانید دستورات if و else را به صورت تو در تو هم استفاده کنید.

دستور elseif
در بسیاری از تصمیم گیری ها با چندید حق انتخاب مواجه هستیدد. دستور elseif ترکیبی از دستورهای if و else است و اجازه می دهد دنبالهای از شرایط را عنوان کنید و برنامه به جستجوی شرط ها بپردازد تا سرانجام یکی از شرط ها را به صورت درست (True) تشخیص دهد.
مثال :

<?php
$a = 10;
$b = 5;
if ($a > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
?>

در کد بالا در صورتی که متغیر a بزرگ تر از متغیر b باشد مقدار a is bigger than b چاپ می شود ، در صورتی که مقدار متغیر a مساوی متغیر b باشد مقدار a is equal to b چاپ می شود و در صورتی که هیچ کدام از شرط ها مقدار درست به خود نگیرند مقدار a is smaller than b چاپ می شود .

------------------------------
آموزش بعد : " دستورات شرطی - بخش دوم "
دوستان گلم به هیچ عنوان در این تاپیک پوست قرار ندید:66:

irerror
04-11-2011, 09:25 AM
سلام

کلیه این مطالب مطلق به داداش گلم Army.Hidden ([Only registered and activated users can see links]) هست
منم برای اطلاعات شما عزیزان این مطلب ایجا قرار میدم امید وارم استفاده کنید.


دستور switch
عملکرد دستور switch همانند عملکرد دستور if است با این تفاوت که شرط ها می توانند چندید مقدار را بپذیرند .
شرط های دستور if یا درست است یا نادرست هستند . در دستور switch ، شرط ها می توانند مقادیر مختلفی مانند انواع متغیر های اعشاری ، رشته یا عدد صحیح را اخذ کنند.

یک مثال از if و switch :
<?php
if ($i == 0) {
echo "i equals 0";
} elseif ($i == 1) {
echo "i equals 1";
} elseif ($i == 2) {
echo "i equals 2";
}
?>

<?php
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
?>

عملکرد دستور switch کمی متفاوت از عملکرد دستورهای if یا elseif است .
دستور if تنها یک دستور را اجرا می کند مگر آنکه با استفاده از بلوک که چندین دستور را قابل اجرا کنید.
دستور switch عکس این حالت عمل میکند . هنگامی که دستور case در یک switch فعال شود ، PHP دستورات موجود در آن را اجرا می کند .با رسیدن به دستور break دستوراتی که پس از دستور switch قرار دارد احرا می شوند.

مشاهده اطلاعات سایت php.net برای switch ([Only registered and activated users can see links])
------------------------------
آموزش بعد : " حلقه ها - بخش اول ":75:
دوستان گلم به هیچ عنوان در این تاپیک پوست قرار ندید

irerror
04-11-2011, 09:29 AM
حلقه While
ساده ترین دستور حلقه در PHP دستور While است . این جلقه همانند دستور if به شرایط وابسته است . در دستور if در صورتی که شرط شما درست باشد بلوک کد مربوطه فقط یک بار اجرا میشود اما حلقه While تا زمانی که شرط شما درست باشد بلوک کد را اجرا میکند.
معمولا هنگامی که از تعداد دفعات تکرار اطلاع کامل ندارید از این دستور استفاده می کنید .
اگر تعداد دفعات تکرار را بدانید بهتر است از حلقه For استفاده کنید .
ساختار کلی :
while (expr)
statement

مثال : حلقه While زیر عدد 1 تا 5 رو نمایش می دهد :
<?php
$num = 1;
while ($num <= 5)
{
echo $num."<br />";
$num++;
}
?>

در ابتدای هر تکرار ، شرایط بررسی می شود و در صورتی که شرایط نادرست شود بوک کد اجرا نشده و اجرای حلقه تکرار پایان می یابد.
____________________________________
اطلاعاتی بیشتر در مورد حلقه While
____________________________________

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

for (expr1; expr2; expr3)
statement

مثال : برنامه بنویسید که اعداد 1 تا 10 را چاپ کند :
نمونه 1 :
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
?>

نمونه 2 :
<?php
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
?>

نمونه 3 :

<?php
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
?>

نمونه 4 :
<?php
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

مثال 2 : برنامه بنویسید که با تعیین یک کارکتر نشان دهد که کاراکتر وارد شده چندمین کاراکتر یک متن است :
<?php
$text="Test";
$searchchar="s";
$count=1;
for($i=1; $i <= strlen($text); $i++){
if(substr($text,$i,1)==$searchchar){
$count = $i + $count++;
}

}
echo $count
?>

خروجی برنامه بالا عدد 3 می باشد. ( به علت سادگی کد نیازی به توضیح بیشتر نیست )

____________________________________
اطلاعاتی بیشتر در مورد حلقه For ([Only registered and activated users can see links])
____________________________________

آموزش بعد : " حلقه ها - بخش دوم "
دوستان گلم به هیچ عنوان در این تاپیک پوست قرار ندید

irerror
04-11-2011, 09:33 AM
حلقه Do...While
حلقه تکراری که بررسی می کنیم حلقه Do...While است که ساختاری مشابه ساختار زیر دارد :

do
expression;
while( condition );

نکته قابل توجه در این حلقه این است که شرط در آخر حلقه برسی میشود و حتی اگر شرط درست هم نباشید حلقه Do...While یک بار اجرا می شود.
به مثال زیر توجه کنید:
<?php
$num = 200;
do
{
echo $num;
}
while( $num < 1 );

?>

در مثال بالا شرطی که بکار بده شده است نادرست است ولی با این وجود حلقه یک بار اجرا میشود و مقدار 200 را به خروجی ارسال میکند.

برای نمایش اطلاعات بیشتر در مورد این حلقه به آدرس زیر مراجعه فرمایید
[Only registered and activated users can see links]

حلقه Foreach
حلقه Foreach مخصوص کار با آرایه ها است و در این بخش یک اشاره کوچک به کلیات کار این حلقه می کنیم و نحوه کار را در بخش آرایه ها برسی میکنیم.
ساختار کلی حلقه Foreach به شکل زیر است :
foreach (array_expression as $value)
statement

و

foreach (array_expression as $key => $value)
statement

توضیحات :
array_expression : نام آرایه
value$ : مقدار موجود در آرایه
Key$ : مقدار کلید یک آرایه

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

<?php
$array = array("val1","val2","val3","val4");
foreach ($array as $key => $value) {
echo $key .' => '.$value.'<br />';
}
?>

ما در بالا یک آرایه یک بعدی 4 عضوی داریم . ( در بخش های بعدی آرایه ها تکمیل آموزش داده می شوند )
خروجی کد زیر به صورت زیر است :

0 => val1
1 => val2
2 => val3
3 => val4

برای نمایش اطلاعات بیشتر در مورد این حلقه به آدرس زیر مراجعه فرمایید
[Only registered and activated users can see links]

آموزش بعد : " ذخیره سازی و بازیابی داده "
دوستان گلم به هیچ عنوان در این تاپیک پوست قرار ندید

irerror
04-11-2011, 09:37 AM
کتاب آموزش پی اچ پی به زبان فارسی

:33:

irerror
04-11-2011, 09:41 AM
اینم یه کتاب دیگه
فارسی هست ...
واسه مبتدی ها خوبه ...

irerror
04-11-2011, 09:42 AM
یه کتاب دیگه واسه حرفه ای های php
به زبان انگلیسی ...
:56::68:

irerror
04-11-2011, 09:43 AM
مقاله اي در مورد امنيت در كد هاي php
:69:

irerror
04-11-2011, 09:49 AM
سلام من امروز براتون چند تا از سایت های آموزشی php ولی به زبان انگلیسی قرار دادم که امید وارم مورد استفاده شما عزیزان قرار بگیره
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
[Only registered and activated users can see links]
:36: موفق باشید

irerror
04-11-2011, 09:58 AM
آموزش نصب php بر روی windows برای مبتدیان