آموزش php - مبتدي

Milad

Well-Known Member
آموزش php - مقدماتي و متوسط

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

[ سوالات و نظرات خود پيرامون دروس را در اين تايپيك ارسال نماييد ]


سلام دوستان عزيز اميدوارم حالتون خوب باشه و شب خوبي رو پيش رو داشته باشيد .


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

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

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


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

در صورتي كه شما با يكي از زبان هاي C و يا perel آشنا باشيد به سادگي هر چه تمام تر ميتونيد php‌ رو ياد بگيريد البته اين رو دوستان ميگن من خودم هيچ كدوم از اين بالايي ها رو زمانی که PHP شروع کردم بلد نبودم:-<

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

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

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

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

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

EasyPHP چيست ؟


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

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

EasyPHP رو از اين لينك دريافت كنيد ( حدودا 15 مگابايت ) .

نكات :

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

[ سوالات و نظرات خود پيرامون دروس را در اين تايپيك ارسال نماييد ]

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

- سعي ميكنم همينطور كه مطالب رو در اين تايپيك قرار ميدم هر چند وقت يك بار خلاصه اي از مطالب رو به صورت يك مقاله pdf در همين پست قرار بدم و به اميد خدا پس از پايان آموزش هم كل مطالب تحت يك مقاله منتشر خواهد شد .


منتظر درس اول و موفق باشيد .

ميلاد :-<
 
آخرین ویرایش:

Milad

Well-Known Member
آموزش php - درس اول ، آشنايي با php

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


PHP سمت سرويس دهنده :

زبان php يك زبان اسكريپت نويسي سمت سرويس دهنده ( سرور ) هست ، به اين معني كه صفحه اي كه توسط بازديد كننده درخواست داده ميشه ابتدا توسط مفسر php بسته به شرايط موجود به كدهاي HTML تبديل شده و صفحه اي HTML‌ براي كاربر ارسال ميشه ...
:shock:

اجراي PHP بر روي سيستم هاي خانگي :

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

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

آخرين نسخه نرم افزار EasyPHP رو ميتونيد از اينجا دريافت كنيد ، در ادامه با نحوه استفاده از نرم افزار آشنا ميشيد .


فرمت صفحات PHP :

صفحات php هم مثل بقيه برنامه ها با يك فرمت خاص ذخيره ميشند ، مثلا فايل هاي اجرايي روي ويندوز exe، هستند فايل هاي اچ تي ام ال ، htm. يا html. هستند ، صفحات PHP همانند HTML توسط يك ويرايشگر ساده ساخته و ذخيره ميشه با اين فرق كه در PHP به جاي استفاده از پسوند .HTML در هنگام ذخيره سازي از پسوند .php استفاده ميشه .

تگ هاي آغازين و پاياني PHP :

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

PHP:
 <?php

دستورات

?>


:?:
سوال : شايد سوال پيش بيايد كه مگه فايل با پسوند .php ذخيره نميشه ؟ پس چرا مفسر از اول تشخيص نداده كه كد هاي موجود در فايل php هستند و چرا بايد از تگ هاي آغازين و پاياني استفاده بشه ؟

نكته اينجاست كه يك فايل php ميتونه شامل كدهاي Html ، Javascript و ... هم باشه در نتيجه ما با تگ هاي فوق كد هاي PHP را از ساير كدها جدا ميكنيم تا توسط مفسر شناسايي و ترجمه بشند ؛ درصورتي كه دستورات php رو در تگ هاي فوق وارد نكنيم مرورگر دستورات PHP را به عنوان كد هاي Html در نظر ميگيره و

دو روش ديگر براي تگ گذاري PHP موجود هست كه در زير مشاهده ميكنيد :

روش دوم :

PHP:
<?

دستورات

?>

روش سوم :

PHP:
<script  language=”php” >

دستورات

</script>

روش دوم خلاصه شده و سوم تگ اسكريپت نام دارند ، بهترين گزينه نمونه اول هست چون در تمام سرور هاي PHP به صورت پيش فرض فعال هست ولي امكان غير فعال بودن دو تگ ديگه موجود است !

سوال : اگر غير فعال باشه چي ميشه ؟ چيز خاصي نميشه ! مفسر متوجه نميشه كه اين تگ تگ آغازين و كد هاي توش PHP هستند و به عنوان كد هاي Html در نظرشون ميگيره و ازشون ميگذره .


افزودن توضيحات :

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

براي اين كار سه راه پيش رو داريد .:idea:

روش اول و دوم ، استفاده از علامت # و يا // كه براي درج توضيحات خطي استفاده ميشود .

مثال :

PHP:
<?php

// توضيحات

# توضيحات

?>

روش ديگه براي درج توضيحات چند خطي هست كه توضيحات با استفاده از /* و /* محصور ميگردد .

مثال :

PHP:
<?php

/*

چند خط توضيحات
...

...

*/

?>

نكته : مفسر PHP متوني كه در بين تگ هاي توضيحات درج شده باشند را ناديده ميگره .

اميدوارم فهميده باشيد توضيحات چيه ولي حالا يك مثال معمولي كه به php ربطي نداره ميزنم تا اون 1 درصدي كه نفهميدن بفهمند :

PHP:
1+2 // Dar in khat 1 ba 2 jam mishe

خوب فرض كنيد 2+1 كد ما هست ! // نشان دهنده اين هست كه ادامه ماجرا توضيحات هست و تاثيري در روند اجراي برنامه نداره و قسمت Dar in khat 1 ba 2 jam mishe همون ادامه ماجرا يا توضيح برناممون هست ؛ كه 2 سال بعد اومديم رسيديم به اين خط بهميم كه اينجا 1 با 2 جمع شده بعدها كه با برنامه هاي سنگين رو به رو شديد ميفهميد كه چقدر توضيحات به درد بخور هستند .

پايان دهنده دستورات :


يكي از ويژگي هاي خوب PHP امكان درج يك دستور به صورت چند خطي هست يعني ميتونيم يك دستور رو به صورت شكسته در چند خط بنويسيم ، ويژگي جالب ديگه php چشم پوشي از فاصله ها هست و ميتونيم براي واضح تر شدن كدهامون از فاصله استفاده كنيم .

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

سوال : اگر در پايان يك دستور نقطه ويرگول نزاريم چي ميشه ؟ مفسر php پايان دستور اول رو پيدا نميكنه و فكر ميكنه دستور هنوز تموم نشده و ادامش خط بعديه ميره خط بعدي كه يك دستور ديگه توشه و گير پاچ ميكنه .

در طول دروس بيشتر متوجه ميشيد .

اولين برنامه ( دستور echo ) :

همينطور كه اون بالا بالا ها گفتم براي اجراي صفحات php روي سيستم خودمون به برنامه EasyPhp نياز داريم ، پس از بارگزاري و نصب نرم افزار از لينك ذكر شده ، نرم افزار رو اجرا كنيد .

يك ويرايشگر متن ساده ، براي مثال Notepad رو باز كنيد و دستورات زير رو در اون وارد كنيد :

PHP:
<?php

echo “hello world” ;

?>

از نوار منوي File گزينه Save رو انتخاب كنيد ، سپس مكان زير را براي ذخيره فايل انتخاب نماييد :

C:\Program Files\EasyPHP\www

در صورتي كه نرم افزار EasyPHP را در درايو يا شاخه ديگه اي نصب كرديد اون شاخه رو انتخاب كنيد .

در قسمت نام تايپ كنيد first.php و بر روي گزينه سيو كليك كنيد ، first اسمي هست كه براي فايلمون ميزاريم و php. هم مشخص كننده فرمت فايل هست .

به خاطر بسپاريد : تمام فايل هاي php اي كه ميسازيم رو بايد در شاخه بالا ذخيره كنيم كه نرم افزار easyphp بتونه بهشون دسترسي داشته باشه و ترجمشون كنه .

حالا صفحه ساخته شده توسط ما ذخيره شده و زمان ديدنش هست .

مرورگري كه ازش استفاده ميكنيد رو باز كنيد و در نوار آدرس ، آدرس http://localhost/first.php رو تايپ كنيد.

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

Hello world

اين اولين برنامه شما بود تبريك :cool:

به خاطر بسپاريد : آدرس http://localhost مكاني هست كه صفحات ساخته شده توسط ما از طريق مرورگر قابل دسترسي و مشاهده هستند .

خوب حالا ميريم سراغ توضيحات كدي كه نوشتيد .

PHP:
<?php

با تگ بالا مشخص ميكنيم كه ادامه كد php هست .

PHP:
echo "hello world";
echo

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

PHP:
?>

با تگ بالا هم ميگيم كه كد هاي php تموم شد .

از اين به بعد براي كمتر شدن كد ها تو آموزش از تگ هاي آغازين و پاياني استفاده نميكنيم اما يادتون باشه شما بايد توي برنامتون بزاريدشون !

يعني به جاي :

PHP:
<?php

echo "hello world";

?>
از اين به بعد فقط كد اصلي رو ذكر مينويسم :

PHP:
echo "hello world";

درس امروز تموم شد ، انگشتان من شكست و ديگر هيچ ، سخت كه نبود ؟ :evil: اگر مشكلي بود بپرسيد ... :?:

موفق باشيد ، ميلاد :-<
 
آخرین ویرایش:

Milad

Well-Known Member
آموزش php - درس دوم ، متغير ها

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

متغير چيست ؟

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

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

PHP:
echo "ramin";

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

PHP:
echo "$age";

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

مثال :

PHP:
$name="milad";


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


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


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

PHP:
echo"$name"";

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

نام متغير ها :

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

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

PHP:
$pm2

$text

$user_name

$user_2

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

PHP:
$ali^a

$21s

$5

$user-name

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

نوع متغير ها :

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

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

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

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

مثال :
PHP:
$moteghayer=false;

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

مثال :
PHP:
$moteghayer_1=3;
 $moteghayer_2=-5;


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

مثال :
PHP:
$moteghayer=1.256;

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

مثال :
PHP:
$moteghayer="hi ben"
$moteghayer="3"

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

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

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

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

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

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

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

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

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

PHP:
echo"salam $be hame";

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

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

PHP:
echo 'salam $be hame';

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

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

تمرين :

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

سوال :

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

PHP:
$m1="%";

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

PHP:
$f="salam";


-------------------- پاسخ به سوالات -------------------
goldenpc عزيز :

زبان PHP يك زبان كاملا مستقل هست ، ولي براي بكارگيري اون بايد به HTML يا برنامه اي مثل Front Page مسلط باشي ... HTML و Css پيش نياز هايي براي بكارگيري PHP هستند ، روش آمورش در اين تايپيك بطوري هست تا افرادي كه با html و css هم آشنايي ندارند بتونند زبان php رو فرابگيرند ، شما ميتوني براي يادگيري html به اين تايپيك مراجعه كني « آموزش Html » موفق باشي .


موفق باشيد ميلاد :-<
 

Milad

Well-Known Member
آموزش php - درس سوم ، محاسبات و كار با اعداد

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

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

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

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

PHP:
echo 2+3;

در خط بالا با دستور echo مجموع 2 و 3 رو چاپ ميكنيم خروجي دستور فوق عدد 5 هست .

PHP:
echo 6*8;

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

PHP:
$majmo=14+11;

در كد بالا يك متغير تعريف كرديم به اسم majmo و مجموع اعداد 14 و 11 رو در اون ريختيم ، به عبارتي الان محتواي متغير majmo عدد 25 هست .

PHP:
$sen=18;
$sene_jadid=$sen+2;
$echo $sene_jadid;

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

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

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

PHP:
$m=3;

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

PHP:
$m=$m+1;

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

PHP:
$m++;

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

PHP:
$m--;



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

PHP:
echo ++$m;

در اين مثال ابتدا 1 واحد به متغير m اضافه شده و سپس مقدار m چاپ خواهد شد ،

PHP:
echo $m++;

در اينجا ابتدا مقدار متغير m چاپ ميشه بعد يك واحد به m اضافه ميشه .

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

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

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

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

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

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

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

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

مثال مهم :

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

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

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


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

PHP:
echo 2*3+5;

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

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

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

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

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

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

تمرين :

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

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

سوال :

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

PHP:
echo 2*9+1

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

تمرين اول :

PHP:
$myname="milad";
echo $myname;

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

تمرين دوم :

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

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

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

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

سوال دوم : محتويات رشته salam هست .
 

Milad

Well-Known Member
آموزش php - درس چهارم ، توابع

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

تابع چيست ؟


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

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

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

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

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


PHP:
function myname(){

echo"milad";

}

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

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

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

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

PHP:
echo"milad";


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

PHP:
myname();

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

PHP:
function myname(){

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

PHP:
echo"milad";


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

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

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

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

PHP:
echo"milad";

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

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

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


PHP:
function zarb($a,$b){

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

}


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

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


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

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

مثال :

PHP:
zarb(3,4);


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

PHP:
function zarb($a,$b){

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

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


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

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

PHP:
zarb(5,4);


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

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

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

//dastorat

}


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

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

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

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

PHP:
function chap($a="milad"){

echo $a;

}


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

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

PHP:
chap("sara");


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


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

PHP:
chap();


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

PHP:
function chap($a="milad"){
 
 echo $a;
 
 }


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

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

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

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

مثال :

PHP:
function sum($a,$b){

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

}


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

PHP:
$sum=sum(7,3);


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

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


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

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

[ سوالات و نظرات خود پيرامون دروس را در اين تايپيك ارسال نماييد ]

موفق باشيد ، ميلاد :-<
 

Milad

Well-Known Member
آموزش php - درس پنجم ، کار با رشته ها

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

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

یادآوری :

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

مثال :

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

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

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

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

در نتیجه کد مورد نظرمون به صورت زیر خواهد بود :

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

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

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

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

PHP:
echo "salam \" khobi ? ";
روش دوم قرار دادن رشته بین کوتیشن هست :

PHP:
echo ' salam " khobi ? ';
در کوتیشن هم به همین صورت است .

کد غلط :
PHP:
echo ' salam ' khobi ? ';

کد صحیح روش اول :
PHP:
echo 'salam \' khobi ?' ;

کد صحیح روش دوم :
PHP:
echo "salam ' khobi ?" ;

کنار هم قرار داردن دو رشته یا متغیر :

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

مثال :

PHP:
echo "salam"." milad";

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

PHP:
echo "salam milad";
کد زیر هم مثل کدهای بالا عمل میکنه :

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

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

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

مثال :

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


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

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

مثال :

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


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


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

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

مثال 1 :

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


مثال 2 :


PHP:
echo strlen("salam");

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

مثال 3 :

PHP:
$f=strlen("salam milad");

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

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

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

مثال :

PHP:
echo strpos("salam","a");

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

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

مثال :

PHP:
echo strpos("milad","d");

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

مثال :

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

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

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

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

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

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

مثال :

PHP:
echo substr("milad",2,3);

وقتی مفسر به کد فوق میرسه ابتدا تا 2 شمارش میکنه m صفر ، i یک ، l دو ، پس روی l میمونه بعد 3 تا کارکتر باید جدا کنه تو جدا سازی شمارش از یک هست ، یک l ، دو a ، سه d پس lad رو برمیگردونه و echo چاپ میکنه lad .

مثال :

PHP:
echo substr("salam sara",4,3);

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

مثال :

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

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

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

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

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

PHP:
$email="[email protected]";
echo substr($email,strpos($email,"@"));


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

PHP:
$email="[email protected]";
echo strstr($email,"@");

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

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

مثال :
PHP:
echo strtoupper("salam")
خروجی کد فوق برابر SALAM خواهد بود .

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

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

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

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

مثال :

PHP:
echo ucfirst("salam");
echo lcfirst("SALAM");
در خط اول چاپ میشود Salam در خط دوم sALAM .

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

مثال :

PHP:
echo ucwords("salam milad");
این درس هم تموم شد ، امیدوارم تمام مطالب رو متوجه شده باشید ، اگر مشکلی داشتید میتونید در این تايپيك مطرح کنید ، موفق باشید .

میلاد :-<

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

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

[ سوالات و نظرات خود پيرامون دروس را در اين تايپيك ارسال نماييد ]
 
آخرین ویرایش:

Milad

Well-Known Member
سلام دوستان ، شرمنده که بین آموزش ها فاصله افتاده ، این روزا سرم خیلی شلوغه ... امیدوارم ببخشید .
از این پس تصمیم گرفتم آموزش ها رو در قالب pdf آماده کنم تا هم مرتب بشند و هم اینکه همیشه در دسترس باشند ، بعد از اتمام آموزش ها تمام مقالات به صورت یک مقاله کامل منتشر میشند .

44330c0ad0e7.png


کیفیت مقالات بسیار بالاست ، سطح آموزش بسیار روان و ساده و سعی شده تمام مطالب مهم مرتبط به هر دست ذکر بشه .

در این درس مطالبی پیرامون شروط و حلقه ها ، عملگر های شرطی و منطقی در 14 صفحه بیان شده :

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


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

موفق باشید .
| __ درس بعد آرایه ها __ |

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

[ سوالات و نظرات خود پيرامون دروس را در اين تايپيك ارسال نماييد ]
 

پیوست ها

  • PHP - 06.rar
    840.2 کیلوبایت · بازدیدها: 721

jay-rch

New Member
با سلام
اين كد را در فايل كتگوري گذاشته ام
<?php
$post = $wp_query->post;
if (in_category('1')) {
include(TEMPLATEPATH.'/wp.php');
}
if (in_category('6')) {
include(TEMPLATEPATH.'/joomla.php');
}elseif (in_category('2')) {
include(TEMPLATEPATH.'/single2.php');
} else {
include(TEMPLATEPATH.'/single_default.php');
}
?>
خوب اين كد وقتي روي كت 1 بريم صفحه wp.php را به درستي مياره و باز مي كنه اما براي كت 6 كه بريم صفحه joomla.php را ميارد با اين تفاوت كه صفحه قبلي هم مياره و كل قالب بهم ميريزه و حتي اگر صفحه بعدي آن بريم باز سه صفحه را با هم نشان مي دهد
در كل فقط صفحه اولي و بالايي اين كد را درست نشان ميدهد و صفحات زيرين اين كد را باهم يعني وقتي joomla.php ميريم wp.php هم نشون ميده باهم و قالب بهم ميريزه و...
ممنون ميشم بگيد اشكال اين كد كجاست و براي كتگوري هاي زياد بخوام صفحه درست كنم اگر كد ديگري است چيه؟؟؟
 

leyla2012

New Member
سلام من دستورات رو دقیق اجرا کردم ولی صفحه ی سفیدی که توش نوشته باشه Hello world نمایش نمیده مشکل چیه؟
نرم افزار easyphp رو هم نصب کردم.
 

meray

New Member
یکی دیگه این مبحث رو ادامه بده تا اینجا روش درس عالی بوده روش درس .
هرچند تایپیک مال خیلی وقت پیشه ولی یک تکمیلش کنه.
 

amin.ir69

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

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

بالا