PDA

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



phpman
April 30th, 2011, 12:01
قصد دارم در این تاپیک آموزش زبان php قرار بدم
تاپیک های ساخت سیستم هایی به زبان پی اچ پی در سایت قرار داره اما گفتم شاید بعضی دوستان بخوان برنامه نویسی رو به این زبان یاد بگیرن و خودشون سیستم خودشون رو برنامه نویسی کنن
امیدوارم بتونم مطالب مفیدی در اختیارتون بزارم

منبع:کتاب آموزش php جعفر نژاد قمی

phpman
April 30th, 2011, 12:22
اول کمی از ویژگی های زبان پی اچ پی براتون میگم
کدهای پی اچ پی رو بدون انجام تغییرات در کامپیوتر هایی با سیستم عامل های مختلف می شه اجرا کرد.
اسکریپت های این زبان در لینوکس و در ویندوز اجرا میشن
به سادگی با دستورات اچ تی ام ال ادغام می شن
کدهای این زبان در سمت سرویس دهنده اجرا می شن

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

---------- Post added at 11:22 AM ---------- Previous post was at 11:15 AM ----------

انواع داده ها
هدف هر برنامه نویس ،ورود یک سری از داده ها به کامپیوتره ،پردازش اونها و بعد دریافت خروجی صحیح هست
به همین دلیل داده ها نقش بسیار مهمی در برنامه نویسی دارن.البته باید بگم پی اچ پی زبان اسکریپتی برای ساخت وب هست اما با انواعی از داده ها کار می کنه که باید کاملا اونها رو بشناسیم
داده ها در این زبان به این صورت دسته بندی مشن
عددی صحیح(integer):برای ذخیره اعداد صحیح بکار میره
عددی اعشاری(double):برای ذخیره اعداد اعشاری بکار میره
رشته ای(string):برای دخیره رشته ای از کاراکتر ها به کار می ره
آرایه (array):برای ذخیره مجمو عه ای از مقادیر همنوع به کار میره
شیء (object):برای ایجاد نمونه هایی از اشیاء به کار میره
بولی(boolean):این نوع متغییر مقدار true یا false رو قبول میکنه

phpman
April 30th, 2011, 12:32
متغییر ها
متغیر نامیه برای بخشی از حافظمون که قراره داده ای توش ذخیره بشه
مقداری هم که در این قسمت قرار میگیره ممکن در طول اجرای برنامه تغییر کنه واسه همین اسمش متغییره
یکی از خوبی ها یا ویژه گی های متغیر ها در پی اچ پی اینه که لازم نیست قبل از به کارگیری متغییر های اونها رو تعریف کنید.وقتی مقداری در اون متغییر برای اولین بار قرار می گیره ،اون متغییر اعلان میشه یا در واقع نوعش تعیین میشه

متغییر های هر کدوم نام خاصی باید داشته باشن نام گذاری این متغییر ها هم قوانین خاصی داره:
مثلا نام متغییر هر طولی میتونه داشته باشه و شامل حروف ،اعداد . خط ربط و علامت $
تمام متغیر ها با $ شروع میشن مثل:num$ یا sum$

خواستون باشه نام کتغییر ننیم ونه با رقم شورع بشه
نام گذاری متغییر ها به حروف حساس
مثال :
Num$ با num$ فرق داره خیلی به این موضوع دقت داشته باشید

phpman
April 30th, 2011, 13:45
مقدار دادن به متغییر ها

همون طوری که گفتن لازم نیست مثل زبان های دیگه مثلا c یا java و یا زبان های دیگه ابتدا متغییر اعلان بشه بعد از اون استفاده بشه

در واقع هر مقداریکه در متغیر قرار بگیره نوع متغیر اغغیر و می کنه و در همون لحظه نوعش تعیین میشه

برای مقدار دادن به متغییر ها از علامت مساوی(=) یا عملگر انتساب استفاده میشه مثل



$sum = 10;
$average = 15.5;

$name = "Ali";



دستور اول مقدار 10 رو در متغیر sum$ قرار میده در نتیجه نوع این متغیر صحیح میشه.

دستور دوم مقدار 15.5 رو در متغییر average$ قرار میده و در نتیجه نوع این متغییر اهشاری می شه

دستور سوم هم مقدار "َAli" رو در متغییر name$ قرار میده و در نهایت نوع این متغییر هم رشته ای یا متنی تعیین میشه



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


$x = 10;

.....

$x = "Ali"



دستور اول مقدار 10 رو به متغییره x$ میده و نوع این متغییر رو عددی صحیح تعیین میکنه
دستور بعدی مقدار Ali رو به این متغییر میده و در نتیجه نوع این متغییر به رشته ای تغییر میکنه

---------- Post added at 11:56 AM ---------- Previous post was at 11:47 AM ----------

متغیر متغیر

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


$varname = 'total';


بچه ها این دستور مقدار 'total' رو در متغیر varname$ قرار میده .حالا بجای total$ می تونیم از varname$$ استفده کنیم مثلا میتونیم مقدار total$ رو بشکل زیر تعیین کنیم


$$varname = 5;

این کار مثل این دستوره :


$total = 5;


کاربرد این متغییر ها رو موقع بررسی حلقه تکرار for می بینیم

---------- Post added at 11:57 AM ---------- Previous post was at 11:56 AM ----------


سلام . ممنون
لطفا یا مقداری درشتر یا با فاصله بیشتر ذکر شود

چشم

---------- Post added at 12:06 PM ---------- Previous post was at 11:57 AM ----------

ثابت ها

تا اینجا یاد گرفتیم که مقدار موجود توی یه متغیر رو میشه عوض کرد .
ثابت هم مثل متغیر مقداری رو ذخیره میکنه ولی مقدارش در طول اجرای برنامه قابل تغییر نیست . برای اعلان ثابت ها از تابع define استفاده میشه
ببینید:

define('FACTOR', 10);
define('PRICE', 4);

دستور اول یه ثابت با نام FACTOR رو با مقدار 10 و دستور دوم یه ثابت دیگه با نام PRICE رو با مقدار 4 اعلان میکنه

توجه کنید که اسامی ثابت ها رو با حروف بزرگ موشتم ولی اصلا کار ضروری نیست
ولی برای ایجاد تمایز با متغییر ها که معمولا با حروف کوچیک نوشته می شم کار خوبیه
یه نکته دیگه درمورد ثابت ها هست اونم اینه که اسمشون با $ شروع نمی شه

---------- Post added at 12:18 PM ---------- Previous post was at 12:06 PM ----------

عملگرها

عملگر بچه ها نمادیه که کار خاصی انجام میده مثل علامت + که کار جمع رو انجام میدهاما عملگر ها تو این زبون به چند دسته تقسیم میشن.

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

عملگر + : کارش جمع متغیر هاست

عملگر- : کارش تفریقه

عملگر* : کارش ضرب

عملگر / : کارش تقسیمه

عملگر% : باقیمانده تقسیم

عملگر++ : افزایش یک واحد یک واحد

عملگر -- :کاهش یک واحد یک واحد


در مورد دوتا عملگر آخر میخوام مثال بزنم تا بهتر متوجه بشید



$a = 5;
$a = $a + 1 ;
$a = $a - 1;
$a++;
$a--;

دستور اول مقدار 5 رو به متغیر a$ میده دستور دوم یک واحد بهش اضافه میکنه دستور سوم یک واحد ازش کم میکنه

دستور چهارم معادل دستور دومه و دستور پنجم معادل دستور سوم

---------- Post added at 12:45 PM ---------- Previous post was at 12:18 PM ----------

تو پی اچ پی عملگرهایی هستن که برای مقایسه دو مقدار بکار میرن

به این عملگرها عملگرهای مقایسه ای یا رابطه ای میگن

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

عملگر == تساوی

عملگر === همانی

عملگر =! نامساوی

عملگر <> نامساوی

عملگر < بزرگتر از

عملگر > کوچیک از

عملگر => کوچکتر یا مساوی

عملگر =< بزرگتر یا مساوی

اگر بخواهیم مشخص کنیم که آیا دو متغییر a$و b$ با هم مساوی هستند از علامت == استفاده میکنیم




$a = 10;
$b = 10;
$a == $b;

دردستور سوم ،چون $a با $b برابره مقدار true یا درستی برگردانده میشه .دقت کنید که اگر $a با $b

نا مساوی باشن مقدار false یا نادرستی برگردونده میشه

Rezash
April 30th, 2011, 13:53
ضمن تشكر از استارتر
پست هاي تشكر و پيشنهاد حذف شد.
دوستان عزيز لطفا براي تشكر فقط از دكمه تشكر استفاده كنيد تا يك تاپيك كاملا آموزشي و بدون شلوغي باشه و لطفا از ارسال پست هاي غير ضروري خود داري كنيد.

phpman
April 30th, 2011, 21:13
خوب دوستان بعد از یه استراحت دوباره کار رو شروع میکنیم لطفا به این مثال دقت کنید.


$a = 10;
$b = "10";
$a == $b;


تودستور سوم ،ارزش true برگردانده میشه . چرا؟؟؟

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


$a = 10;
$b = "10";
$a === $b;



دستور سوم مقدار false رو برمیگردونه . چون دو متغیر a$ و b$ همنوع نیستند.
توجه کنید که دو عملگر هستند که نامساوی را نشخص میکنن.این عملگرها <> و =! هستند .

---------- Post added at 02:47 PM ---------- Previous post was at 02:05 PM ----------

عملگرهای منطقی

عملگرهای منطقی روی عبارات منطقی عمل میکنن. به عنوان مثال اگر بخوایم تشخیص بدیم مقدار متغیر $a بین 1 تا 100 قرار داره باید از عملگر منطقی استفاده کنیم .

عملگرهای منطقی

عملگر ! نام این عملگر (نقیض یا NOT) مثال $b اگر $b نادرست باشه نتیجه درسته و برعکس

" && نا م این عملگر (و یا AND) مثال : a && $b $ اگرa$ و b$ هر دو درست باشند . نتیجه درست است و گرنه نادرست

" || نا م این عملگر(یا ) مثال : a ||$b$ اگر a$ یا b$ درست باشند نتیجه درست است و گرنه نادرست

" and نا م این عملگر(و یا AND) مثال a and $b$ مثال && است ولی اولویت کنتری داره

" or نا م این عملگر(یا) مثال b or $a$ مثال || است ولی اولویت کمتری داره





عملگرهای ترکیبی

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

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


عملگر =+ نام عملگر انتساب جمع مثال a += $b$ معادل a = $a +$b$

" =- نام عملگر انتساب تفریق مثال a -= $b$ معادل a= $a-$b$

" =* نام عملگر انتساب ضرب مثال a *= $b$ معادل a= $a*$b$

" =/ نام عملگر انتساب تقسیم مثال a /= $b$ معادل a= $a /$b$

" =% نام عملگر انتساب باقیمانده تقسیم مثال a % $b$ معادل a =$a %$b$



عملگرهای رشته ای

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

مثال:


$a = "web"
$b = "host"

اگر با استفاده از a$ و b$ رشته "webhost" رو بدست بیاریم میگیم رشته a$ به رشته b$ الحاق شده.

بچه ها برای اینکار یعنی الحاق رشته ها در پی اچ پی از عملگر (.) استفاده میشه


$a = "web"
$b = "host"
$c = $a.$b



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


$a = "web"
$b = "host"
$space =" "
$c = $a.$space.$b


و نتیجه "web host" خواهد بود

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

کتیشن یکانی یا نقل قول یکانی قرار میگیرن

"web"
'host'


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


$a = 100
echo "value of $a";
echo 'value of $a';


دستور اول مقدار 100 رو به متغیرمون میده
خروجی دستور دوم به این شکله:

value of 100

,ولی خروجی دستور سوم به این شکل:

value of $a

فکر کنم با این مثال کامل جا افتاده باشه



---------- Post added at 04:08 PM ---------- Previous post was at 02:47 PM ----------

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

این ها شاید استفاده زیادی توی php نداشته باشن به همین خاطر فقط به معرفی اونهای میپردازیمک

عملگر & نام (و) مثال a & $b$ اگر دو بیت متناظر یک باشند نتیجه یک است .

عملگر | نام (یا) مثال a | $b$ اگر یک بیت در a$ یا b$ یک باشند نتیجه یک است .

عملگر ~ نام (نقیض) مثال a $~ اگر یک باشد نتیجه 0 است . و برعکس

عملگر ^ نام (یای انحصاری ) مثال a ^ $b$ اگر یکی از بیت های a$ یا b$ (یا هر دو)یک باشند نتیجه یک است .

عملگر >> نام (شیفت چپ) مثال a<<$b$ را به مقدار b$ بیت ضیفت می دهد.

عملگر << نام (شیفت راست) مثال a>>$b$ را به مقدار b$ بیت ضیفت می دهد.



خوب بچه ها این عملگرها رو هم براتون معرفی کردم و همونطور که گفتم کاربرد زیادی در این زبان نداره


میریم سر عملگرهای متفرقه
یه تعداد عملگر هستند که توی هیچ دسته بندی قرار نمی گیرن نا اونها رو تحت عنوان عملگرهای متفرقه بررسی میکنیم

اولیش عملگر ؟ هست که یه شرط رو تست می کنه بر اساس نتیجه آن مقداری رو توی متغیر قرار میده

به این شکل:

; مقدار 2 :مقدار 1 ؟ شرط = متغیر

اگر شرط ارزش درتی داشته باشه مقدار 1 و گرنه مقدار 2 در متغیر قرار میگیره
مثال:


$a = 5;
$x = $a < 7 ? $a *2 : $a * 3;


چون شرط 7 >a$ ارزش درستی داره حاصل 2*a$ ، یعنی 10 توی x$ قرار میگیره

راستی به عملگر ؟ عملگر 3 تایی هم میگن چون روی 3 تا مقدار عمل میکنه


عملگر@

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

مثال


$a = @ (55/0)

اگه از این علامت توی این مثال استفاده نشه اونوقت اخطار تقسیم بر صفر میده

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

عملگر ارجاع

عملگر ارجاع توی php با & (ampersand) مشخص میشه و با عملگر انتساب (=) به کار میره.


$a =5;
$b = $a;


با اجرای دستور دوم a$ و b$ برابر 5 میشن

حالا به این دستورات توجه کنید


$a =5;
$b = &$a;
$a = 10 ;


با اجرای دستور دوم ، b$ به عنوان مرجع متغیر a$ تعیین میشه

دستور سوم موجب می شه a$ و b$ هر دو برابر با 10 میشن



---------- Post added at 07:02 PM ---------- Previous post was at 05:08 PM ----------

مفهوم دستورات و توابع

پردازش هایی که تو php باید انجام بده از طریق دستورات و توابع اجرا میشن

دستور فرمانی برای موتور php محسوب میشه و اون رو وادار میکنه که کاری انجام بده هر دستور در php به ; ختم میشه

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

1-توابع کتابخانه ای

2- توابع ساخت کاربر

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

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

شروع و پایان دستورات php

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

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

4 تا تگ برای این کار در نظر گرفته شده که بهترتیب براتون مینویسم

1- php?> (تگ شروع) <? (تگ پایان) تگ های استاندارد

2- ؟> " " " تگ های کوتاه

3- %> " <% " تگ های asp

4- (تگ شروع) <"script> <script language ="php/> (تگ پایان) تگ های اسکریپت

بچه ها دقت کنید روش اول و آخر بدون مشکل در تمام پیکر بندی ها بدرستی اجرا میشه اما دوم و سوم باید در فایل php.ini فعال بشه این فایل فایل پیکربندی php هست که دستکاری کردن اون رو هم توضیح میدم

برای فعال کردن تگ های کوتاه فایل php.ini رو باز میکنید و سوئیچ short_open_tag رو فعال میکنید

short_open_tag= on;

برای غیر فعال کردنشون هم مقدار on رو به off تبدیل کنید

برای فعال کردن تگ های asp هم به صورت زیر عمل کنید

asp_tags=on;

بعد از این کارا فایل رو ذخیره کنید و سیستم رو ریاستارت کنید








تا اینجا با عملگرها ،توابع، ثابت ها، و متغیر ها آشنا شدیم حالا میخوام دستوری رو بگم که بوسیله اون اطلاعات نمایش داده میشن

برای این کار دستور echo و تابع ()print بررسی میکنیم

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

یه مثال برای دستور echo


$total = 100;
echo "total is :";
echo $total ;

خوب دقت کنید دستور اول یه مقداری رو در متغیر total $ قرار میده

دستور دوم یه پیغام رو چاپ میکنه

و دستور سوم مقدار متغیر total$ رو نشون میده

میرسیم به تالع ()print


$total = 100;
print ("total is :");
print ($total);









---------- Post added at 07:14 PM ---------- Previous post was at 07:02 PM ----------

خوب حالا یه صفحه طراحی می کنیم که یه خروجی با echo و یک خروجی با ()print به ما بده


<?php
$a=100;
$b=10.5;
echo "<b>output with echo"."<br>";
echo "<b>the value of first variable is:".$a."<br>";
echo "<b>the value of second variable is:".$b;
print("<br>output of print "."<br>");
print("the value of first variable is.".$a."<br>");
print("the value of second variable is:".$b);
?>


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

حتما قبل از اجرای فایل هاتون این برنامه رو نصب و اجرا کنید

---------- Post added at 09:13 PM ---------- Previous post was at 07:14 PM ----------

تابع ()date

تابع ()date تاریخ و زمان فعلی محلی رو نشون میده و به صورت زیر کار میکنه


date(format[,timestanp]);

format مشخص می کند تاریخ یا زمان با چه قالبی نمایش داده شوند .

timestamp مقداریه که می تونه به یک تاریه تبدیل بشه . اگر ذکر نشه زمان فعلی منظور میشه که همون مقدار تابع

()time که در ادامه راجع بهش حرف میزنیم


کدهایی که در تابع date قرار میگیرن تعدادیشون رو براتون معرفی میکتن

کد a صبح یا بعد از ظهر بودن رو بصورت am یا pm نشون میده


کد d روز رو بصورت عدد دو رقمی نشون میده که از 01 تا 31 هست

کد D بصورت سه حرفی نشون میده از mon تا sun

کد F نام ماه ها رو بصورت کانل نمایش میده که از junuary تا december هست

و...که در ادامه خدمتتون ارائه میدم



تابع بعدی تابع ()time هست

که زمان فعلی سیستم رو بصورت یک عدد صحیح نشون میده که مشخص میکنه چند ثانیه از تاریخ اول ژوئن 1970 تا

کنون گذشته .این مبداء زمان رو unix epoch میگن

و عددی که بر حسب ثانیه توسط این تابع برگردونده میشه مهر زمان نام داره .

در ادامه مثالی در این مورد براتون میزنم



<?php
echo "<b>current date is :".date("jS F Y")."<br>";
echo "RFC822 format:".date("r")."<br>";
echo "current time and date :".date("H:i, jS F Y")."<br>";
echo "week number is :".date("W")."<br>";
$nextweek=time()+(7*24*60*60);
echo "now:".date('Y-m-d')."<br>";
echo "next week :".date('Y-m-d',$nexstweek);
?>



این کد ها رو بنویسید و خروجی رو مشاهده کنید.

sm_pakdel
April 30th, 2011, 21:23
اگر میشه فایل های تمرین هارو هم برای دانلود قرار بدید مرسی

phpman
April 30th, 2011, 21:26
چشم اگر وقت کنم این کارو حتما انجام میدم

phpman
April 30th, 2011, 23:59
تعیین و تبدیل نوع متغیر ها

تابع ()gettype

خوب بچه ها این تابع نوع فعلیمتغیر رو تعیین می کنه و بصورت زیر کار میکنه

(gettype(variable

variable نام متغیریه که نوع اون رو میخواهیم تعیین کنیم


$a = 10 ;
echo gettype($a);


دستور دوم نوع متغیر a$ رو که integer هست در مرورگر نمایش میده



تابع ()settype

این تابع میتونه نوع فعلی متغیر رو عوض کنه


settype(variable, 'newtype');

variable نام متغیری است که میخواهیم نوعش رو عوض کنیم

newtype هم نوع جدید اون متغیر است .



$a = 10;
settype($a, 'double');


دستور اول مقدار 10 رو به متغیر میده و در نتیجه نوع اون صحیح تعیین میشه

دستور دوم نوع متغیر رو به double تغییر میده

در ضمن این روش تغییر نوع را تغییر نوع صریح می نامند

phpman
May 1st, 2011, 13:30
تبدیل نوع با type casting

وقتی با تابع ()settype نوع متغیری را تغییر میدهید . نوع اصلی متغیر تغیر می کند .اما اگه با ()type casting این کارو بکنید یک کپی از متغیر میگیره و بعد به نوع دیگه ای تبدیل میشه

و نوع متغیر اصلی تغییر نمی کنه

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


$x = 13.5;
$y = (integer) $x;

دستور اول به متغیرمون مقدار میده که double است. دستور دوم متغیر y$ را از x$ می سازه که از نوع integer است و مقدارش رو هم برابر 13 قرار میده


حالا یه صفحه طراحی می کنیم که انواع متغیر ها رو تشخیص بده و نوع متغیر رو عوض کنه و نمایش بده






<?php
$a=12;
$s="computer";
echo '<b> type of $a is:'.gettype($a)."<br>";
echo 'type of $s is :'. gettype($s). "<br>";
settype($a,'double');
echo 'new type of $a is :'.gettype($a)."<br>";
$x=13.15;
echo 'type of $x is:'.gettype($x)."<br>";
$y = (integer)$x;
echo 'type of $y is:'.gettype($y)."<br>";
echo 'value of $y is :'.$y."<br>"
?>

---------- Post added at 01:03 PM ---------- Previous post was at 12:40 PM ----------

ترکیب php با html

همونطور که تقریبا همه می دونید اصلی ترین زبان برای طراحی وب html هست که یه ضعف هایی هم داره در محاسبات و ...

این ضعف ها توسط php رفع شده.یه سری کارهایی هم که در html قابل اجرا نیست توی php انجام می شه

حالا برای ترکیب این دو تا زبون باید فایل html ایجاد کرد و هر جا نیاز بود از اسکریپت های php استفاده کرد.

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


<html>
<head>
<title>embeded php</title>
</head>
<body>
<h2>this is in html</h2>
<?php
echo 'this text is in php'.'<br>'.'<br>';
echo ' therfore php and html coexist.';
?>
</body>
</html>

---------- Post added at 01:30 PM ---------- Previous post was at 01:03 PM ----------

حالا صفحه ای طراحی میکنیم که توش فرمی قرار داده باشه

از کاربر تعداد کالا رو درخواست کنه

و بعد تعداد کل کالا و قیمت رو محاسبه کنه


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



<html>
<head>
<title>embeded php</title>
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
</head>
<body>
<form action="ch3-6.php" method="post">
<table border=1>
<tr>
<td width=150 bgcolor="#330000"><span class="style1">bookname</span></td>
<td width=150 bgcolor="#330000"><div align="center" class="style1">quantity</div></td>
</tr>
<tr>
<td bgcolor="#999999">pascal</td>
<td align="center" bgcolor="#999999"><input type="text" name="pasqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#999999">visual c++</td>
<td align="center" bgcolor="#999999"><input type="text" name="vcqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#999999">c programming</td>
<td align="center" bgcolor="#999999"><input type="text" name="cqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#999999"><input type="submit" value="submit order"></td>
</tr>
</table>
</form>


</body>
</html>

خوب دقت کنید

خط اول با پارامتر action مشخص میکنه که وقتی دکمه submit order زده میشه فرو به برنامه یا صفحه ch3-6.php ارسال بشه.

پس متوجه می شیم که باید یک صفحه هم با نام ch3-6.php طراحی کنیم و قرار در این صفحه اطلاعاتی که از صفحه قبل گرفته شده پردازش بشه

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

این تعداد در سه متغیر با نام های pasqty , vcqty , cqty قرار میگیره این سه تا متغیر در برنامه ch3-6.php دستیابی میشن

به روش دستیابی به این سه متغیر خوب توجه کنیددددددد مهمه

<html>
<body>
<?php
$sum = $_POST['pasqty']+ $_POST['vcqty']+$_POST['cqty'];
$price=$_POST['pasqty']*3000 + $_POST['vcqty']*2500 + $_POST['cqty']*4000;
echo '<br>total quantity:'.$sum.'<br>';
echo 'total price:'.$price;
?>
</body>
</html>

خوب سطر سوم اسکریپت php رو در کدhtml آغاز میکنه

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

(به کدهای css که در صفحه میبینید توجه نکنید مربوط به درس ما نمی شه )

یکم با این فرم ها ور برید نگاهشون کنید تا بیام ادامه بدم یه چایی بخورم میرسم خدمتتون:57:

phpman
May 1st, 2011, 18:07
داشتم عرض میکردم که روش دستیابی به اطلاعات متغیر های یک فرم خیلی مهمه

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

سه روش برای این کار هست به عنوان مثال مثلا برای دستیابی به متغیر فرم pasqty که در مثال ch3-6.html قرار داره به دو روش زیر عمل میکنیم

pasqty$

یا


$_POST['pasqty']

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

register_globals = on

تو حالت عادی یا مقدارش off هست یا بصورت توضیحاته و اجرا نمیشه

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

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

اما روش دوم ،روش مناسب تریه . ولی تو نسخه های اولیه php یعنی پائین تر از php 4.1.0 قابل استفاده نیست

توی این روش بهتره برای متغیر ها از اسم های کوچیک استفاده کنید

پس شد به این صورت


$p = $_POST['pasqty'];

دستور پنجم با استفاده از قیمت کتاب ها و تعداد درخواست . کل هزینه درخواست رو محاسبه می کنهو توی متغیر price$ قرار میده

دستورات 6 و 7 متغیر های sum$ و price$ رو در مرورگر نمایش میدن

توضیحات در برنامه php

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

توی php برای قرار دادن توضیحات از دو روش استفاده میشه

1- استفاده از */و/* برای توضیحات چند سطری

2- استفاده از // برای توضیحات یک سطری



/* this is a multiple
line cooments used in php
*/

//this is a single line comment



دستکاری رشته ها

رشته ها هم نوعی از داده ها هستن ،اعمالی مثل جست جو و مقایسه رشته ها و عبارات منظم ، به وفور مورد استفاده قرار میگیرن.

حذف فضاهای خالی


معمولا توی انجام مقایسه ها و و جست و جو ها از فضای خالی رشته ها صرف نظر میشه

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

تابع()ltrim: این تابع فضای خالی سمت چپ رشته ای رو حذف میکنه
ltrim($str);

تابع ()chop این تابع فضای خالیه سمت راست رو حذف میکنه
chop($str);

تابع ()trim فضای خالی سمت چپ و راست رو حذف میکنه
trim($str);








---------- Post added at 06:07 PM ---------- Previous post was at 04:36 PM ----------

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


تبدیل حروف به رشته ها

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

تابع()stroupper: این تابع رشته را به حروف بزرگ تبدیل میکنه

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

تابع ()ucfirst: " " اولین حرف رشته رو به حرف بزرگ تبدیل میکنه

تابع ()ucwords: " " اولین حرف تمام کلمات رشته ای رو به حروف بزرگ تبدیل میکنه


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

مثال :


ucwords($str);



الحاق و تجزیه رشته ها

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


تابع()explode: این تابع رشته رو دریافت کرده اون رو بر اساس جدا کننده ای که به عنوان پارامتر مشخص می شه تجزیه میکنه و توی آرای قرار میده.



explode(separator.str[,int limit]);


separator کاراکتر جدا کننده

str$ رشته ای که باید تجزیه بشه

limit مشخص میکنه که چند تکه از رشته جدا شود

و در آرایه قرار بگیره


$mail = "abcd@yahoo.com";
$ar = explode ('@', $mail);


دستور اول رشته ای رو تعریف میکنه

دستور دوم این رشته رو به دو بخش میکنه در آرایه ar$ میریزه

بطوری که [0]a$ برابر با abcd و [1]ar$ برابر با yahoo.com



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

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

phpman
May 2nd, 2011, 16:46
تابع ()implode :

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

implode(separator,array);


separator کاراکتر جدا کننده و array آرایه ایه که رشته های موجود توی اون باید الحاق بشن




تابع join هم دقیقا مثل تابع implode استفاده میشه


نابع stroke

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

stroke(str,separator);

str رشته ایه که نشانه ای از اون با separator تفکیک شده ،جدا می شود.


$str = 'computer science';
$t = stroke($str, '');

با این دستور واژه computer در t$ قرار میگیره


تابعsubstr
این تابع زیر رشته ای را از یک رشته جدا میکنه

substr(str, start[,length]);


این تابع رشته ای را به طول length را با شروع از موقعیت start در رشته str برمیگرداند.اگر length مشخص نشه از start تا انتها ی رشته برگردونده میشه

$str = "you are learning php";
$sub = substr($str, 18,3);

این مثال رشته php رو جدا میکنه و در sub$ قرار می ده. موقعیت اولین کاراکتر هم صفره

---------- Post added at 02:22 PM ---------- Previous post was at 02:17 PM ----------

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

دوستان توجه کنن چون اینکار زمان زیادی برای تایپ میبره و من هرچی تا حالا دیدید رو پای سیستم ،خودم دارم تایپ میکنم بنابر این غلط هایی هم ممکن دیده بشه که هم به بزرگی خودتون ببخشید و هم اگر ایرادها باعث شده بود چیزی رو متوجه نشید بگید تا یا درستش کنم یا توضیح بدم

ممنون از توجه و همکاریتون

---------- Post added at 04:03 PM ---------- Previous post was at 02:22 PM ----------

ساختارهای کنترلی و آرایه ها


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

به دو دسته هم تقسیم میشن 1- ساختار تصمیم گیری یا شرطی 2- ساختار تکرار یا حلقه

تصمیم گیری

ساختار تصمیم گیری تعدادی دستور هستن که شرطی رو تست میکنن اگر شرط برقرار باشه یه سری از دستورات رو اجرا میکنن

وگرنه دستورات دیگه ای اجرا میشه

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

ساختارهای تصمیم توی php دستورات if و else و switch هستند که دونه دونه روشون بحث نیکنیم


دستور if

برای پردازش داده هایی که کاربر در فرم وارد میکنه نیاز به تصمیم گیری داریم ویکی از دستوراتی که تصمیم گیری رو ممکن میکنه دستور if

هست.مثلا اگر سفارش کاربر کمتر از 1000 تومن بود تخفیف نداره و گرنه 5% تخفیف داره. برای این کار میتونیم از دستور if استفاده کنیم.


روش بکار بردن این دستور:

(شزط)if

}

دستور1 ;

...

دستور n ;

{


روش دوم


(شزط)if

}

دستور1 ;

...

دستور n ;

{

else
}

دستور e1
...
دستور en

{



اینم بگم که اگر دستوراتی که توی هر مورد باید اجرا بشن بیشتر از یک ی نباشه نیاز به {} نیست


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

میکنیم و از دستور if توش استفاده میکنیم


با استفاده از if شرطی رو اضافه میکنیم که اگر کاربر میزان سفارشش بیش از 100000ریال بود 5% تخفیف بده و در نهایت تعداد خرید رو هم نشون بده

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form action="ch4-1.php" method="post">
<table border=0>
<tr bgcolor="#CC0000">
<td align="center">booname</td>
<td align="center">Quantity</td>
</tr>
<tr bgcolor="#999999">
<td>pascal</td>
<td><input type="text" name="pasqty" size="3" maxlength="3"></td>
</tr>
<tr bgcolor="#999999">
<td>visual C++</td>
<td><input type="text" name="vcqty" size="3" maxlength="3"></td>
</tr>
<tr bgcolor="#999999">
<td>C programming</td>
<td><input type="text" name="cqty" size="3" maxlength="3"></td>
</tr>
<tr bgcolor="#999999">
<td>
<input type="submit" value="submit order">
</td>
</tr>
</form>
</body>
</html>


کد های بالا برای صفحه دریافت اطلاعاته صفحه بعدی php باید باشه و با نام ch4-1.php ذخیرش کنید

اینم از کدهای قسمت رسید خرید


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
$sum = $_POST['pasqty']+ $_POST['vcqty']+ $_POST['cqty'];
$price=$_POST['pasqty']*3000 + $_POST['vcqty']*2500 + $_POST['cqty']*4000;

echo '<b>رسید خرید شما:'.'<br>';
echo '<b>pascal:'. $_POST['pasqty'].'<br>';
echo '<b>visual:'. $_POST['vcqty'].'<br>';
echo '<b>cprogramming:'. $_POST['cqty'].'<br>';
echo '<b>total quantity:'. $sum.'<br>';
echo '<b>Total price:'. $price.'<br>';
if ($price > 100000)
$discount = $price * 5 /100;

ELSE
$discount= 0 ;
echo 'discount'.$discount;
echo 'payment'.($price-$discount);
?>
</body>
</html>


---------- Post added at 04:06 PM ---------- Previous post was at 04:03 PM ----------

به کدهای قسمت if و else توجه کنید

---------- Post added at 04:46 PM ---------- Previous post was at 04:06 PM ----------

دستور بعدی elseif

بچه ها if در مسئله هایی با دو گزینه بکار میره

اگر بیش از دو گزینه داشته باشیم یا باید از if های تو در تو استفاده کنیم یا اینکه از دستور elseif استفاده کنیم

روش اول که توصیه نمیشه چون خیلی گیج کننده و نا منظم هست اما کار با elseif که در واقع ترکیبی از if و else هست بهتره و توصیه

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

phpman
May 4th, 2011, 00:17
دوستان کمی سرم شلوغ بود نتونستم ادامه بدم از فردا مطالب جدید در این بخش قرار میگیره
برای اینکه در جریان قرار بگیرید که بعد از پایان این دوره چه چیزهایی یاد میگیرید یه تعدادیشو مینویسم

احتمالا در همین بخش و در ادامه همین مبحث آموزش my sql هم مینویسم
ارتباط پی اچ پی با my sql
کوکی ها و نشست ها
تشخیص هویت کاربران و شخصی سازی سایت
ساخت سبد خرید
پیکربندی فایل php.ini و خیلی چیزهای دیگه رو بعد از اتمام این دوره کامل یاد میگیرید

در ضمن اگر پیشنهادی برای بهتر شدن دارید ارائه کنید ممنون میشم

phpman
May 4th, 2011, 15:16
سلام خدمت همه دوستای گلم مبحث آموزش php رو ادامه میدیم با مثالی ا ز دستور elseif

این مثال همون مثال سفارش کتابه که تکمیلش میکنیم و چند شرط بهش اضافه میکنیم

خرید کنتر از 10 عدد تخفیف نداره

10 تا 49 تا 5% تخفیف داره

50 تا 99 10 %تخفیف داره

100 تا یا بیشتر 15% تخفیف داره

این صفحه رو مثلا با نام ch4-2.html ذخیره کنید


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
</head>

<body>
<FORM ACTION="CH4-2.PHP" METHOD="POST">
<TABLE width="251">
<Tr>
<td bgcolor="#333333"><div align="center" class="style1">نام کتاب</div></TD>
<td bgcolor="#333333"><div align="center" class="style1">تعداد</div></TD>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">پاسکال</div></td>
<td bgcolor="#FFFF00"><input type="text" name="pascalq" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">ویژوال بیسیک</div></td>
<td bgcolor="#FFFF00"><input type="text" name="visualq" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">برنامه c</div></td>
<td bgcolor="#FFFF00"><input type="text" name="cq" size="3" maxlength="3"></td>
</tr>
<tr>
<td bgcolor="#FFFF00"><div align="center">
<input type="submit" value="خرید">
</div>
<td bgcolor="#FFFF00">

</tr>
</TABLE>
</form>
</body>
</html>



حالا باید صفحه محاسباتمون رو طراحی کنیم این صفحه رم با نام ch4-2.php ذخیره کنید


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
$sum= $_POST['pascalq']+ $_POST['visualq']+ $_POST['cq'];
$price=$_POST['pascalq']*3000+$_POST['visualq']*2500 + $_POST['cq']*4000;
echo '<b> you ordered as follow:'.'<br>';
echo 'pascal:'.$_POST['pascalq'].'<br>';
echo 'visual c++:'. $_POST['visualq'].'<br>';
echo 'c programming:'.$_POST['cq'].'<br>';
echo 'TOTAL quantity:'. $sum .'<br>';
echo 'TOTAL PRICE:' .$price.'<br>';
if ($sum < 10)
$dicount=0;
elseif($sum >=10&&$sum<=49)
$discount=$price *5 /100;
elseif($sum>=50&&$sum<=99)
$discount=$price *10 / 100;
else
$discount=$price *15/100;
echo 'discount='.$discount;
echo 'pament=' . ($price- $discount);


?>
</body>
</html>


دستور switch

اگر یه شرط دارای 2 مقدار باشه برای تصمیم گیری بر اساس نتیجه اون شرط از دستور if استفاده می شه. اما اگه شرط بیش از دو مقدار داشته باشه

میتونیم از switch استفاده کنیم توی شرط if مقدار true یا false داشته باشه اما در دستور switch هرمقداری می تونه داشته باشه

---------- Post added at 03:00 PM ---------- Previous post was at 02:59 PM ----------

شکل کلی دستور


switch(avalable)
{
مقدار case1;
....
break;
مقدار case2;
....
break;
.
.
.
default;
...
break;
}

---------- Post added at 03:15 PM ---------- Previous post was at 03:00 PM ----------

توی این دستور اگر مقدار variable برابر 1 باشه دستورات مربوط به خودش اجرا میشه و دستور break باعث خروج از ساختار استفاده میشه.
اگر مقدارش 2 باشه دستورات مربوط به اون اجرا میشه و اگر هیچکدوم از مقادیر ذکر مشه دستورات بعد از default اجرا میشه

فکر کنم با این مثال کاملا توجیح بشید:

به نام ch4-3.html ذخیره کنید


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table border=0>
<form action="ch4-3.php" method="post">
<tr>
<td bgcolor="#33FF00"><h5>how do you find my site?</h5></td>
</tr>
<tr>
<td bgcolor="#66FF00">
<select name="find">
<option value="a" >i'm regular customer.</option>
<option value="b">tv and radio advertising</option>
<option value="c">i heared from my student</option>
<option value="d"> i found it by search engine.</option>
</select>
</td>
</tr>
<tr>
<td bgcolor="#66FFFF"><input type="submit" value="submit order"></td>
</tr>
</form>
</table>
</body>
</html>


باز هم نیاز داریم به طراحی صفحه php که اون رو هم با نام ch4-3.php ذخیره میکنیم


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
switch($_POST['find'])
{
case 'a':
echo '<b><p>regular customer.<p>';
break;
case 'b':
echo '<b><p> customer refferd by advertisment.<p>';
break;
case 'c':
echo '<b><p>customer refferd by his friend.<p>';
break;
case 'd':
echo '<b><p>customer refferd by search engine.<p>';
break;
default:
echo '<b><p>we do not know how customer found us.<p>';
break;
}
?>
</body>
</html>


توی دستور بالا بوسیله select یک لیست بازشونده می سازیم با 4 گزینه اسمشم find میزاریم

هر گزینه با یک مقدار مشخص میشه گزینه اول برابر با a

گزینه دوم b

گزینه سوم c

و گزینه چهارم d

وقتی کاربر گزینه ای رو انتخاب کنه ئ دکمه رو بزنه یکی از مقادیر a,b,c,d, در متغیر finde$ قرار میگیره که توی برنامه ch4-3.php قابل دستیابیه

اگر خوب دقت کنید میبینید که یه دستور switch متغیر find رو بصورت
switch($_POST['find']) بررسی میکنه و بر اساس مقدار این متغیر

پیامی رو چاپ میکنه

---------- Post added at 03:16 PM ---------- Previous post was at 03:15 PM ----------

مبحث بعدی ساختار تکرار و دستور while

phpman
May 5th, 2011, 14:03
همونطور که قبلا گفتم امروز قراره در مورد دستور while صحبت کنیم

این دستور ساده ترین ساختار تکرار در php هست. معمولا در مواردی به کار میره که تعداد دفعات اجرای حلقه از قبل مشخص نیست.
while(شرط)
{
دستور1;
...
دستورn;

}

در این دستو راول شرط موجود در جلوی while چک میشه . اگر شرط برقرار باشه دستورات داخل ساختار اجرا میشن و دوباره کنترل اجرای برنامه به اول حلقه میره و این روند تکرار میشه.اگر شرط برقرار نباشه کنترل اجرای برنامه از حلقه خارج میشه دقت داشته باشید که شرط حلقه باید در بدنه حلقه نقض بشه تا حلقه تموم بشه در غیر اینصورت حلقه بی نهایت ایجاد میشه.

برای درک بهتر این موضوع یه صفحه طراحی می کنیم که مثلا هزینه ارسال کتاب درخواستی کاربر رو بر اساس فاصله حساب کنه فاصله از 50 تا 300 کیلومتر در نظر گرفته میشه.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<table width="164" border="0" cellpadding="3">
<tr>
<td width="81" align="center" bgcolor="#FFFF00" >Distance</td>
<td width="65" align="center" bgcolor="#993300" >Cost</td>
</tr>
<?php
$distance= 50 ;
while($distance <=300)
{
echo '<b><tr><td align="right">'. $distance .'</td>';
echo '<b><td align="right">'.$distance/10 .'</td></tr>';
$distance +=50;
}
?>
</table>

</body>
</html>



دستور بعدی do while

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



do
{
دستور1;
...
دستور n;




}while(شرط);

برای درک بهتر این مسئله هم یک صفحه طراحی میکنیم که عددی از ورودی بگیره و معلوم کنه این عدد اول هست یا نه

کد های این مثال رو بعدا در این قسمت قرار میدم فعلا خودتون تست کنید ببینید می تونید این مسئله رو حل کنید یا نه




درس بعدی بعد از حل این مسئه در مورد دستور for هست موفق باشید

phpman
May 5th, 2011, 20:10
خوب دوستان اینم کدهای مسئله بالا


اول یک صفحه html طراحی می کنیم که اطلاعات رو از کاربر بگیره و ببا اسم ch4-5.html ذخیره میکنیم


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form method="post" action="ch4-5.php">
whats your name:
<input name="guess" typr="text">
<br>
<br>
<input type="submit" value="clickhere to check if it is prime">
<br>
</form>

</body>
</html>



بعد از این صفحه محاسبات رو مینویسیم و با اسم ch4-5.php ذخیره میکنیم



<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
$count=2;
$x=$_POST['guess'];
do
{
$remainder= $x%$count;
$count= $count+1;
}
while($remainder!= 0 and $count<$x);
if (($count < $x ) || ($x == 0))
{
echo ("number $x is not prime");
} else {
echo ("number $x is prime");
}
?>
</body>
</html>


دستور for

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

دستورات رو شمارش میکنه.

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

بار اجرای دستورات حلقه ، چند واحد به شمارنده حلقه اضافه بسه.

روش بکارگیری این دستور هم به شکل زیر هست؟

(گام افزایش;شرط حلقه;مقدار اولیه شمارنده حلقه) for
}

...
{


توجه کنید که اگر تعداد دستوراتی که تکرار می شوند بیش از یکی نباشن نیاز به }{ نیست.



for($i = 0; $i< 5; $i++)
{
دستورات حلقه

}

تحلیل کد بالا:

i$:شمارنده یا اندیس حلقه

مقدار اولیه شمارنده حلقه = 0

شرط حلقه : 5>i$

گام افزایش :1 (پس از هر بار اجرا ،یک واحد به i$ اضافه می شود)

در ادامه صفحه ای طراحی می کنیم که تعداد دوستان یک کاربر رو دریافت کنه بطور پویا کادرهای متنی رو بر اساس این تعداد ایجاد کنه .

این تمرین هم حل کنید تا بعدا کد هاش رو در ین قسمت قرار بدم

---------- Post added at 08:10 PM ---------- Previous post was at 06:50 PM ----------


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="ch4-6.php" method="post">
how many friend do you have
<input name="NUMBER" type="text" size="3">
<br>
<br>
<input type="submit" value="submit order">
<br>
</form>
</body>
</html>



این هم صفحه پی اچ پی برای انجام محاسبات

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
$NUM=$_POST['NUMBER'];
for ($counter=0; $counter < $NUM; $counter++)
{
$Offset=$counter+1;
echo "<br><br>pleas enter the name of friend number $Offset<br>";
echo "<input name=child type=text>";
}
?>
<br>
<br>

</body>
</html>





در خط چهارم این برنامه تعداد دوستان کاربر که در متغیر فرم
$_POST['NUMBER']; قرار داره در متغیر num$ قرار میگیرن حلقه تکرار for در خط 5 بر اساس این مقدار کادر متنی ایجاد میکنه تا نام ها رو دریافت کنه



قسمت بعد انتقال کنترل غیر شرطی

phpman
May 6th, 2011, 16:38
انتقال کنترل غیر شرطی

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

اولین دستور در این بخش دستور break

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

در قسمت switch از این دستور استفاده کردیم.

دومین دستور دستور continue

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

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

دستور exit

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

مثال

صفحه این طراحی میکنیم که نام و سن ار بر رو بگیره و اگر سن زیر 1 و بالای 120 بود پیغامی رو چاپ کنه.

اگر هم بین 1 و 120 بود پیغامی چاپ کنه .توی این برنامه از exit استفاده میشه

---------- Post added at 04:38 PM ---------- Previous post was at 03:59 PM ----------


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="ch4-7.php" method="post">
<table width="245" border=0>
<tr>
<td width="151" bgcolor="#33FF00">NAME</td>
<td width="84" align="center" bgcolor="#33FF00" ><input name="name" type="text" size="3"></td>
</tr><br>
<tr><td bgcolor="#FFFF00">Age</td>
<td align="center" bgcolor="#FFFF00"><input name="age" type="text" size="3" ></td>
</tr>
<tr><td bgcolor="#FFCC66"><input type="submit" value="submit Order"></td>
</tr>
</table>
</form>
</body>
</html>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
$a=$_POST['age'];
$n=$_POST['name'];
if($a<1 || $a>120 )
{
echo "<b> age $a is out of range";
exit;
}
else
echo "<b> age $a is in range";
echo "<b><br> name is $n and age is $a";
?>
</body>
</html>

phpman
May 7th, 2011, 02:29
آرایه
تا الان یادگرفتیم که متغیر تعریف کنیم و یک مقدار رو توش ذخیره کنیم .اما باید بگم یه ساختار دیگه ای هم در php هست که دنباله ای از مقادیر رو توی خودش ذخیره می کنه .آرایه میتونه دارای چند عنصر باشه که هر کدوم این عناصر میتونن مقداری رو تو خودشون ذخیره کنن مقادیری مثل عدد . یا متن ،یا یه آرایه دیگه

دو نوع آرایه در php وجود داره

آرایه هایی با اندیس عددی و آرایه های انجمنی

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

برای تعریف آرایه از کلمه array استفاده میکنیم برای درک این موضوع مثال زیر رو خوب نگاه کنید.

$m = array (2,4,6,8,9);
حالا به این مثال توجه کنید



Echo $m[1] ;
Echo $m[3];



دستور اول مقدار 4 و دستور دوم مقدار 8 رو نمایش میده. چون اندیس $m از صفر شروع میشه

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


$z [2]=3;
$z [1]=6;


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


$m = range(10,15);
با توجه به این دستور اعدا 10 تا 15 در این آرایه قرار میگیره
برای دستیابی به عناصر یک آرایه میشه از حلقه تکرار استفاده کرد.

مثال



$m = array(5,10,15,20,25);
For($i = 0; $m < 5; $m++);
echo “$m[i]”;

phpman
May 8th, 2011, 15:50
با دستور while هم میشه این کارو انجام داد.


$i = 0;
while($i< 5 )

{
echo "$x[$i]";
$i++;
}


دستور foreach

به جز دو دستور بالا با دستور foreach هم میشه به عناصر آرایه دستیابی پیدا کرد.

از این دستور وقتی استفاده میشه که تعداد عناصر آرایه مشخص نیست

شکل کلی دستور


foreach(&arrayname as $index)
{
...
}


arrayname نام آرایه است

as کلمه ای هست که باید به همین شکل نوشته بشه

index$ نتغیریه که عنصر فعلی آرایه توش قرار میگیره


foreach($x as $index)
echo $current.'';

دستور foreach هر کدوم از عناصر آرایه رو به نوبت توی متغیر current$ قرار میده

خط آخر هم این متغیر رو نمایش میده

اندیس آرایه ها رو میشه با عددی غیر از 0 شروع کنیم

مثال


$x[1 => 5, 10, 15];

برای فهم بهتر این موضوع یه صفحه طراحی می کنیم که اسامی شهر ها رو توی یک آرایه قرار میده و نمایش میده



<?php
$city=array(1=>"babol","tehran","sari","amol","shiraz");
foreach($city AS $index => $state)
{
echo "<b><br> $index-$state ";
}
?>

دستور دوم ارایه ای با نام city$ تعریف میکنه که اندیس اول اون یکه نام 5 شهر هم توی آرایه قرار میگیره . و خط 3 یه حلقه تکرار foreach ایجاد میکنه که عناصر آرایه رو با اندیسشون چاپ میکنه


مثال دیگه ای هم در ادامه براتون میزنم

---------- Post added at 03:50 PM ---------- Previous post was at 02:24 PM ----------

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


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="ch41-9.php" method="post" >
شما چند تا دوست دارید؟
<input type="text" name= "number" size="3">
<br>
<br>
<input type="submit" value="submit order">
<br>
</form>
</body>
</html>


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

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


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form method = post action = "ch41-9-1.php" >
<?php
$num = $_POST['number'];
for ($counter=0; $counter < $num; $counter++)
{
$OffSet = $counter+1;
echo "<b> <br>pleas enter the name of friend number $OffSet<br>";
echo "<b> <input name = child[] type = text>";
}
?>
<br>
<br>
<input type = "submit" value = "submit">

</form>
</body>
</html>


در صفحه سوم اطلاعات آرایه child که یک متغیر فرم است در متغیر c$ قرار میده

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


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
$c = $_POST['child'];
echo "<b> your friend's names are:<br>";
foreach($c as $index)
{
echo "<b>".$index."<br>";
}
?>
</body>
</html>


قسمت بعد آرایه انجمنی

phpman
May 9th, 2011, 13:43
چون اندیس آرایه ها ی انجمنی ،عددی نیست نمی شه با استفاده ازشمارنده در حلقه تکرار به عناصر آرایه انجمنی دسترسی پیدا کرد.
برای اینکار می تونید از حلقه تکرار foreach یا تابع list ،each ، reset استفاده کنید.

روش کار با foreach

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


Foreach($grade as $key => $value)
Echo $key . ‘=> ’. $value .’<br>’;



در این دستور foreach ، متغیر $key اندیس رو مشخص میکنه که در آرایه $grade به ترتیب برابر با ahmad .ali.reza
است.و $value مقدار کلید رو مشخص میکنه که به ترتیب 15و17و14 است.
انتخاب نام $key و $value اختیاریه

به کار گیری ساختار each()
این تابع عنصر فعلی آرایه را بر میگرداند و به عنصر بعدی میره
بکار گیری تابع each()


While($element = each($grade))
{
Echo $element[‘key’];
Echo ‘=>’;
Echo $element [‘value’];
Echo ‘<br>’;
}




در این دستور .تابع each اندیس و محتویات آرایه $grade رو استخراج میکنه در آرایه ای با نام $element قرار میده . اندیس با واژه key و مقدار با واژه value قابل دستیابیه در داخل .حلقه برایدستیابی به اندیس(کلید) از $element[‘key’] و برای دستیابی به مقدار این کلید از $element[‘value’] استفاده میشه.

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

تابع list آرایه رو به چند قسمت تبدیل میکنه بنابر این میشه دو مقداری که توسط each برگردونده میشه رو از هم تفکیک کرد و در دو متغیر جدا از هم قرار داد .




<?php
$grade = array(‘ahmad’ => 15, ‘ali’ => 17, ‘reza’ => 14);
While(list($index ,$value)= each($grade))
{
Echo “<b>$index => $value”.”<br>”;
}
?



در این دستور در شرط حلقه while تابع each هر یک از اندیس های آرایه را درمتغیر $index و مقدار کلید را در $value قرار میده. در داخل حلقه تکرار ،این دو متغیربه همراه علامت <= چاپ میشه.

تابع reset
وقتی با تابع each مقادیر عناصر آرایه رو چاپ میکنیم . به انتهای آرایه میرسید.اگر در همان برنامه بخواهید دوباره به عناصر همون آرایه دستیابی داشته باشید باید به ابتدای آرایه برگردید برای این منظور از تابع reset استفاده میشه
Reset($grade);
تمرین
صفحه ای طراحی کنید که ضمن تعریف یک آرایه انجمنی ، چگونگی دستیابی به عناصر آرایه را به روش های مختلف نشان بدهد.

WinDesign
May 9th, 2011, 14:32
با توجه به اینکه این مطالب رو از کتاب "آموزش گام به گام PHP" قرار می دهید، بهتر هست به قوانینشون هم احترام بزارید:
.: Olom Rayaneh :. (http://www.olomrayaneh.net/copyright.php)

sm_pakdel
May 9th, 2011, 14:57
ئر هر صورت من استفاده میکنم

phpman
May 9th, 2011, 15:00
دوست عزیز قبلا هم دوستان به این نکته اشاره کردن من هم گفتم که با هر پست که نمی تونم منبع رو اعلام کنم

بعد از پایان مبحث منبع هم اعلام میشه

البته شاید هم در اولین پست این موضوع رو قرار بدم ولی در هر صورت ممطمئن باشید منبع اعلام میشه یا اول یا آخر

sm_pakdel
May 9th, 2011, 15:05
همونطور که مدیر انجمن گفتن لطفا مطالب غیر آموزشی رو در این تاپیک قرار ندید تا تاپیک کاملا آموزشی باشه

کامنت های غیر آموزشی باعث میشه مطالب بین کامنتها گم بشه و در دسر میشه ودنبال کردن آموزش سخت تر میشه

phpman
May 9th, 2011, 15:09
دوست عزیز در اول تاپیک منبع هم قرار داده شد

phpman
May 12th, 2011, 16:33
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
$grad = array('ahmad' => 15,'ali' => 17, 'reza' =>14);
echo 'out put with foreach:';
foreach($grad as $index => $value)
{
echo '<b>'.$index. '------>' .$value.'<br> ';
}
reset($grad);

echo "<b> output with each:<br>";
while($element = each($grad))
{
echo $element['key'];
echo '-------->';
echo $element['value'];
echo '<br>';
}
reset($grad);
echo "output by list and each <br>";
while(list ($index,$value) = each($grad))
{
echo "$index => $value<br>";
}
?>
</body>
</html>




در این دستورات ابتدا یک آرایه انجمنی ایجاد میشه

در خط بعدی اون پیامی صادر میشه

و سطر بعدش یک حلقه تکرار foreach محتویات آرایه رو به خروجی میبره.

بعد آرایه ریست میشه

یعنی اولین عنصر آریه رو به عنوان عنصر فعلی منظور میکنه

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

توسط while یک حلقه ایجاد میشه

که با استفاده از each محتویات آرایه رو چاپ میکنه

بعد از این حلقه آرایه دوباره ریست میشه و حلقه while بعدی محتویات آرایه رو با استفاده از تابع each و list نمایش میده

---------- Post added at 04:28 PM ---------- Previous post was at 04:15 PM ----------

آرایه های چند بعدی

آرایه هایی وجود دارند که هر عنصر اون میتونه آرایه دیگری باشه. و به این ترتیب آرایه ای از آرایه ها به وجود بیاد.

این نواع آرایه ها رو آرایه چند بعدی میگن

که یکی از متداول ترین اونها آرایه دو بعدیه یا ماتریسی

آرایه دو بعدی دارای تعدادی سطر و ستونه

مثلا ارایه ای که مثال میزنم دارای 3 سطر و 4 سطون که سطرها از 0 تا 2 و ستونها از 0 تا 3 شماره گذاری میشن




$x = array(array(10,20,30,40);
array(15,25,35,45);
array(40,50,60,70));


این هم روش دستیابی به عناصر این آرایه


echo '|' . $x[0][0] .'|' . $x[0][1] . '|' .$x[0][2]. '|' . $x[0][3] .'<br>';
echo '|' . $x[1][0] .'|' . $x[1][1] . '|' .$x[1][2]. '|' . $x[1][3] .'<br>';
echo '|' . $x[2][0] .'|' . $x[2][1] . '|' .$x[2][2]. '|' . $x[2][3] .'<br>';


با استفاده از for های تو در تو نیز میتوان به عناصر این آرایه دست یافت

---------- Post added at 04:33 PM ---------- Previous post was at 04:28 PM ----------


for($row = 0; $row < 3 ; $row++)
{
for($col = 0; $col < 4 ; $col++)

{
echo '|'. $x[$row][$col];
}
echo '<br>';
}