آموزش php

برنامه نویس

عضو سایت
php چیست؟


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


php زبان برنامه نویسی است که به صورت گسترده استفاده می شود و برای ایجاد محتوای پویا در صفحات وب به کار می رود.

php قابل اجرا بر روی وب سرور است که اسکریپت های php را در پشت صحنه (روی سرور) تفسیر می کند و نتیجه را به سمت کلاینت می فرستد.حتی ممکن است کلاینت نداند که در تهیه محتویات صفحات وبی که مشاهده می کند ار اسکریپت php استفاده شده است.در واقع از هر زبانی برای طراحی وب استفاده کنیم در نهایت چیزی که به سمت کلاینت فرستاده می شود و در مرورگر نشان داده می شود ، کدهای Html است.

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

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

php یک نرم افزار open source رایگان است که امروزه روی بسیاری از وب سرورها نصب شده است.php مخفف php:hypertext pre processor است .

 

برنامه نویس

عضو سایت
چرا از php استفاده کنیم؟

زبان برنامه نوییسی php در طراحی سایت نسبت به دیگر زبانها برتری هایی دارد, گذشته از Open Source بودن آن ، دلایل بسیاری برای انتخاب php برای ایجاد محتوای محاوره ای بر روی وب سایت ها ، وجود دارد.

گذشته از Open Source بودن آن ، دلایل بسیاری برای انتخاب php برای ایجاد محتوای محاوره ای بر روی وب سایت ها ، وجود دارد. ساختار و ترکیبی بسیار شبیه زبان c دارد.

نوع داده ها و ساختارهای (Structures) php به آسانی آموخته و به کار گرفته می شوند. Php می داند منظور شما چیست و نوع های داده را ، خود تغییر می دهد، در واقع نیازی به تعریف نوع متغیرها در این زبان نیست و پس از اینکه اولین مقدار داخل یک متغیر ریخته شد، خود php نوع آن را تعیین می کند. همچنین نیازی به دانستن دستور خاصی برای کامپایل برنامه ندارید ، برنامه شما خود ، در مرورگر اجرا می شود لازم نیست در ابتدای کار برای نوشتن برنامه های کاربردی درباره php زیاد اطلاع داشته باشید .

Php سرویسی از مجموعه فایل های کتابخانه ای c را ارایه می دهد که به آسانی درون زبان قرارگرفته و با انعطاف بسیار به آن قابلیت پاسخ دهی سریع برای تغییرات در وب را می دهد . آنچه شما می توانید با php انجام دهید ، با دیگر زبانها نیز قابل انجام است . اما php برای کار در زمینه وب طراحی شده است . بنابراین کارهایی مشکل و خسته کننده برای برنامه نویسان که نوشتن آن در perl آنها را به زحمت می انداخت ، به آسانی با php انجام می شود .

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

برنامه نویس

عضو سایت
چگونه یک فایل php بسازیم؟

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


هر فایلی شامل کدهای php باید فرمت “ .php “ داشته باشد, مثل فایل های html که برای مشخص شدن به عنوان فایل های html باید فرمت “.html” یا “.htm” را دارا باشند.

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

(معمولا اسم وب سایت+اسم فایل+فرمت فایل, برای مثال: http://www.yourwebsitename.com/test.php)

منظور از وب سرور php سروری است که کدهای php را اجرا می کند. حالا این سرور می تواند یک سرور واقعی روی اینترنت باشد و یا یک سرور روی کامپیوتر خودمان مانند نرم افزار های wamp server یا xamp که این کار را برای ما انجام می دهند.

من استفاده از واژه پردازهایی مثل Microsoft Word, Startoffice writer و یا Abiword را برای ذخیره ویا ایجاد فایل های php توصیه نمیکنم. ویرایشگرهای متنی همچون Notepad یا Wordpad روی سیستم عامل های Windows و Kerite و Kate روی سیستم عاملهای Linux گزینه های بهتری برای این کار میباشند. هنگام ذخیره فایل اطمینان حاصل کنید که نام فایل و فرمت آن را وارد کرده اید.(مثال: test.php) و اگر منوی کرکره ای “save as type” وجود دارد باید گزینه ی “All Files” را انتخاب کنید.

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

برنامه نویس

عضو سایت
Syntax ، قواعد دستوری php

Php syntax ، مجموعه قواعدی است که مشخص میکند برنامه باید چگونه نوشته شود. این قواعد شامل تگ شروع " ?php) " و تگ پایان " (?" ،نشان دادن پایان دستور با علامت ";" و نیز چگونگی ذکر توضیحات در داخل کد php میباشند


قواعد دستوری php شامل موارد زیر است:

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

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

تگ شروع " ?php) " و تگ پایان " ( ?" است. این تگ ها میتوانند برای پرش و نیز وارد شدن به حالت php هر تعداد بار در یک فایل php استفاده شوند، یک فایل php میتواند شامل عناصر html نیز باشد: : ( در مثال به جای() از علامتهای <> استفاده کنید)

کد:
(?php /* Code Can Go Here */ ?)
(html)
(head)
  (?php /* Code Can Go Here */ ?)
(/head)
(body)
  (?php /* Code Can Go Here */ ?)
(/body)
(/html) 
(?php /* Code Can Go Here */ ?)


دستورالعمل اتمام php :
هر دستور نوشته شده در php به روشی برای نشان دادن پایان دستور نیاز دارد، برای اینکه بتوان هر دستورالعمل را بدون اشتباه انجام داد . سمی کولون ";" برای این هدف استفاده میشود.

کد:
(?php
  $variable = "این یک تست برای اتمام دستور است!";
  echo $variable;
?)


بلوک کد بالا، شامل دو دستورالعمل جدا داخل برچسب های باز و بسته php است. هر دستور یا دستورالعمل با ; تمام شده است. بسیاری از خطا ها ناشی از فراموش کردن پایان دادن به دستور میباشند.

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

توضیحات php :
اگر تاکنون اصرار داشته اید متنی در وسط یک بلوک از کد php بنویسید، میتوانید نظرتان را به عنوان توضیح برچسب بزنید و بدون ایجاد خطا ادامه دهید.

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



برای توضیحات یک خطی//

برای توضیحات یک خطی #

برای توضیحات یک خطی و چند خطی /* */


توضیحات اغلب به دو هدف استفاده میشوند:

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


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

تمام فضاهای خالی در مثال زیر توسط مفسّر نادیده گرفته میشوند:


کد:
(?php echo 'هر فضای خالی نادیده گرفته میشود.'; ?)
(?php
          echo 'هر فضای خالی نادیده گرفته میشود.';
?)

  echo 'هر فضای خالی نادیده گرفته میشود.';

?)
 

برنامه نویس

عضو سایت
نحوه تعریف متغیرها در php

متغیرها روشهای php برای ذخیره سازی مقادیر و یا اطلاعات میباشند. هنگامیکه یک متغیر تعریف میشود، میتوان آنرا بارها مورد استفاده قرار داد،متغیرها با علامت "$" که بلافاصله به دنبال آن نام متغیر می آید، تعریف شده اند


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

متغیرها با علامت "$" که بلافاصله به دنبال آن نام متغیر می آید، تعریف شده اند. نام متغیر ها در php حساس به حروف بزرگ و کوچک است.

شما میتوانید با پایبندی به 4 قانون زیر متغیر هایتان را نامگذاری کنید:

نام متغیر نمیتواند شامل حرف فاصله باشد.
نام متغیر میتواند شامل حروف az و AZ، اعداد 0-9 و خط (_) باشد.
نام متغیر میتواند با حروف یا خط زیرین شروع شود ولی با اعداد نمیتواند.
نام متغیر باید به گونه ای باشد که شما بعدا بتوانید آنرا به خاطر بیاورید.
چند نمونه از متغیرهای تعریف شده را در زیر می بینید:

( در مثالها به جای() از علامتهای <> استفاده کنید)


کد:
(?php
  $NonSensical_Variable_Name = "من یک مقدار متغیر هستم !";
  $empty_variable = "";
  $eyes = "brown";
  $hair = 'brown';
  $age = 35;
?)

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

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

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

برنامه نویس

عضو سایت
انواع متغیرها در php

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


در این مقاله سه دستۀ مختلف از انواع متغیرها بررسی میشوند: اعداد (numbers) ،رشته ها (strings) و آرایه ها (Arrays) .

دسته اعداد، شامل دو نوع متغیر: اعداد صحیح (integers) و اعداد اعشاري (Floating-point) (همچنین اعداد اعشاري با دقت مضاعف (double precision floating point) و یا (doubles)) می شوند. اما از آنجا که تفاوت چندانی در چگونگی به کار گرفتن این دو نوع متغیر، وجود ندارند، ما این دو را در یک دسته قرار داده ایم.PHP همچنین داراي یک نوع متغیر به نام شیء (object) می باشد.

​​اعداد
همان گونه که ذکر شد، براي آسانتر شدن آموزش، دو نوع متغیر اعداد صحیح و اعداد اعشاري در دستۀ اعداد قرار داده شده اند. در این قسمت به صورت مختصر به ذکر تفاوتهاي بین این دو می پردازیم. اعداد به صورت اعشاري(همراه با ممیز) و یا اعداد کسري ار نوع متغیرهاي اعشاري محسوب میشوند. براي مثال 1.0 در php یک عدد اعشاري به حساب می آید. توجه کنید که در php اعداد، به صورت کسري ذخیره نمی شوند بلکه به معادل اعشاري خود تبدیل شده و سپس ذخیره میشوند. براي مثال عبارت 1/4 به صورت 0.25 ذخیره و نوشته میشود. مثالهایی از اعداد صحیح و اعداد اعشاري معتبر عبارتند از:


کد:
1972 -1
1.0 19.72 -1.0



رشته ها
یک متغیر از نوع رشته اي (string) از ترکیب هر نوع کاراکتري (حروف، اعداد، علائم و جاي خالی) می تواند ساخته شود. اما این کاراکترها باید در داخل یکی از علامتهاي quotation ( ' ' ) و یا Double Qutation (" ") قرار گیرند. مثالهایی از دادههاي رشتهاي مجاز عبارتند از:

کد:
"Hello, world!"
"1 1/4"
"Hello World! How are you today?"
"02.23.72"
"1972"


به مثال آخر توجه کنید. که اگر یک عدد نیز در داخل علامتهاي نقل قول قرار گیرد، به عنوان یک داده رشته اي در نظر گرفته میشود. به عبارت دیگر این داده رشته اي از ترکیب کاراکترهاي عددي، تشکیل شده است.مثالهایی از داده هاي رشته اي غیرمجاز عبارتند از :



کد:
Hello ,World !
"I said, "how are you?""


در مثال اول، از آنجایی که عبارت، داخل یکی از علامتهاي مخصوص داده هاي رشته اي قرار نگرفته است. به عنوان یک داده رشته اي در نظر گرفته نمیشود. در مثال دوم ، php بعد از رسیدن به علامت نقل قول دوم، داده رشته اي را تمام شده فرض میکند. بنابراین ادامۀ عبارت باعث ایجاد اشکال میشود. براي رفع این مشکل براي اینکه، php علامت هاي quotation داخل عبارت را به صورت کاراکتر آن در نظر بگیرد ( و نه علامتی براي آغاز یا ختم یک داده رشته ای)، مثال دوم را به این صورت اصلاح می کنیم که در تابع print قبل از علامتهاي quotation از backslash() استفاده میکنیم:


کد:
"I said,"How are you?""


بنابراین هر چند که گفته شد در داده رشته اي هر ترکیبی از کاراکترها به کار میرود. باید توجه داشته باشید که در مورد کاراکترهاي ویژه، باید دقت خاصی اعمال شود. کاراکترهاي ویژه دیگري نیز وجود دارند که در هنگام استفاده از آنها در یک داده رشته اي باید یک علامت Backslash () قبل از آنها قرار دهیم. این کاراکترها عبارتند از: Backslash () ، single quotation mark (') ،Apostrophe و علامت dollar ($) .

مزیت استفاده از double quotes به جاي Single quotes در این است که در حالت دوم، اگر متغیري داخل داده رشته اي خود به کار ببرید، نام متغیر به عنوان جزئی از داده در نظر گرفته میشود، و نه مقدار آن متغیر جایگزین نام آن نمیشود.



آرایه ها
برخلاف داده هاي عددي و رشته اي که تنها میتوانند داراي یک ارزش و یا مقدار باشند، آرایه ها میتوانند حاوي لیستی از مقادیر باشند. بنابراین شما میتوانید مقادیر مختلف عددي و یا رشته اي را داخل یک آرایه قرار دهید. همچنین آرایه ها، خود، میتوانند شامل لیستی از آرایه ها باشند. آرایه هاي استاندارد در php، از مقادیر داده اي و یا عددي تشکیل میشوند.(این آرایه هاي شماره گذاري شده (indexed) و یا برداری (vector) نیز معروف هستند). در php به هر دو دسته (یک یا چند بعدي) لفظ "آرایه" اطلاق میشود.





انواع مختلف اطلاعات در یک متغیر می تواند ذخیره شود که در طول برنامه می توانید رفتارهاي متفاوتی با آن نمایید. برخی زبانهاي برنامه نویسی شما را وادار می کنند که در ابتدا و در موقع تعریف متغیر نوع آن را نیز مشخص نمایید. ولی در php لزومی به این کار نیست و نوع اولین مقداري که وارد متغیر شود ، به عنوان نوع متغیر شناخته می شود.

شما می توانید از دستور gettype() براي مشاهده نوع یک متغیر استفاده کنید. همچنین میتوانید با استفاده از دستور settype() می توانید نوع یک متغیر را تغییر دهید. براي این کار باید نام متغیر و نوع متغیر که می خواهید به آن تغییر یابد را در بین پرانتز و با فاصله یک کاما در بینشان مشخص نمایید. ( در مثال به جای() از علامتهای <> استفاده کنید)



کد:
(head)
  (title)صفحه وب تست(/title)
(/head)
(body)

(?php

$undecided = 3.14;

print gettype( $undecided ); // double

print " -- $undecided
"; // 3.14

settype( $undecided, integer );

print gettype( $undecided ); // integer

print " -- $undecided
"; // 3

?) 

(/body)
 

برنامه نویس

عضو سایت
ساختارهاي کنترلی و حلقه ها در php

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


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

چگونه یک کد را وقتی اجرا کنیم که یک عبارت True باشد، CLAUSE IF.
چگونه قسمت دیگري از کد اجرا شود وقتی که همان عبارت False شود، ELSE.
چگونه از دستور switch استفاده کنیم.
چگونه یک قسمت از کد را چند مربطه اجرا کنیم، while.
چگونه از For براي اجراي حلقه استفاده کنیم.
چگونه یک حلقه For را قطع کنیم.
اغلب script ها نیاز به تغییر خروجی در شرایط مختلف دارند. با استفاده از IF شما می توانید خروجی کدهاي خودتان را در PHP با توجه به یک سري شرایط تغییر دهید.

♦ If

If عبارت داخل پرانتز جلوي خود را کنترل می کند و درصورتی که True باشد، آن قسمت از کد را اجر می نماید.

کد:
if ( expression )
{
// code to execute if the expression evaluates to true
}


فرمت کلی If بصورت بالاست، expression عبارتی است که باید کنترل شود. و عبارات بین { و } کدي است که در صورت True بودن عبارت If باید اجرا شود.

♦ استفاده از Else در If

فرمت کلی آن به صورت زیر است ، قسمت بعد از else فقط وقتی اجرا می شود که عبارت داخل if برابر False باشد.

کد:
if ( expression )
{
// code to execute if the expression evaluates to true
}
else
{
// code to execute in all other cases
}


♦ ElseIf

ElseIf مجددا یک عبارت دیگر را اجرا می نماید و در صورت True بودن دستورات داخلش اجرا خواهد شد. فرمت کلی به صورت زیر است :


کد:
if ( expression )
{
// code to execute if the expression evaluates to true
}
elseif ( another expression )
{
// code to execute if the previous expression failed
// and this one evaluates to true
else
{
// code to execute in all other cases
}


اگر عبارت IF درست نباشد تکه اول کد نادیده گرفته می شود و نوبت عبارت Esleif می رسد اگر این عبارت درست باشد قسمت دوم کدها اجرا می شود. دستور else در نهایت وقتی اجرا می شود که هیچ کدام از عبارات If و Esleif درست نباشند. شما به هر تعداد که می خواهید می توانید esleif در کدتان بگذارید. و در نهایت Else دلخواه است و می تواند در کد وجود نداشته باشد.

♦ Switch

این دستور روش دیگري براي تغییر مسیر حرکت اجرا شدن کدهاست. دستور switch فقط یک عبارت رو چک می کند و می تواند این عبارت را با مقادیر متفاوتی مقایسه کند و فقط کدي را اجرا کند که مقدار مورد نظر در آن True شود.فرمت کلی به صورت زیر است :



کد:
switch ( expression )
{
case result1:
// execute this if expression results in result1
break;
case result2:
// execute this if expression results in result2
break;
default:
// execute this if no break statement
// has been encountered hitherto
}


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

♦ روش جالب عملگر شرطی علامت سوال

اسم دیگر این روش را میتوان If یک خطی گذاشت، در این روش شما بدون نیاز به نوشتن دستورات If می توانید تابع شرطی ایجاد کنید که در آن عبارتی چک شود و در صورت درست بودن یک سري کد اجرا شود و در صورت اشتباه بودن کد دیگر:

کد:
( expression )?returned_if_expression_is_true:returned_if_expression_is
_false;



اگر عبارت داخل پرانتز ما True بود کد بعد از علامت سوال اجرا می شود و در غیر اینصورت کد بعد از : اجرا خواهد شد.

♦ حلقه ها

تا به حال روشهایی را دیدید که به وسیله آن کد می تواند بین اینکه کدام کد را اجرا کند انتخاب داشته باشد.همچنین کد می تواند تصمیم بگیرد که چند بار یک قسمت را اجرا کند.حلقه هاي براي این ایجاد شده اند که به شما اجازه دهند یک عملیات را چند مرتبه اجرا نمایید. تقریبا بدون استثناء ، همه حلقه ها آنقدر اجرا می شوند تا اینکه یک شرایطی (که از توسط شما مشخص می شود) اتفاق بیافتد و یا اینکه شما شخصا دستور قطع و خروج از loop را بدهید.

♦ while


کد:
while ( expression )
{
  // do something
}



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

♦ حلقه do و While

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


کد:
do {
// code to be executed
}
while ( expression );


توجه کنید که آخر عبارت While در خط آخر ،حتما ; گذاشته شود.این متد وقتی خیلی به درد می خورد که شما بخواهید کد شما حداقل یکبار اجرا شود حتی اگر شرایط عبارت While اتفاق نیافتاده باشد.

♦ حلقه For

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

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


هر عبارت داخل for حتما باید با ; از هم جدا شوند. معمولا ، عبارت اول یک متغیر شمارنده ایجاد می کند ، و در عبارت دوم عبارت کنترلی براي loop است ، و قسمت سوم اضافه کردن و کم نمودن متغیر را ایجاد می کند.شما هر کدام از قسمتهاي for را میتوانید خالی بگذارید ولی ; ها حتما باید نوشته شوند.

♦ خروج از حلقه با استفاده از دستور break

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

♦ استفاده از دستور continue

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

♦ حلقه هاي تو در تو

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

برنامه نویس

عضو سایت
تعریف آرایه در php

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


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

شما میتوانید هر تعداد متغیر برای ذخیره داده های خود نیاز داشته باشید، بصورت جداگانه ایجاد کنید، اما چه میشود اگر تمام داده های شما به هم مرتبط باشند و شما بخواهید از بین آنها جستجو کنید، و یا به روش خاصی آنها را مرتب کنید!؟ ذخیره سازی داده های مرتبط در یک آرایه ، اجازه انجام این کارها و بسیاری دیگر را به شما میدهد. اجازه دهید بگویم که شما لیستی از حیوانات را دارید که میخواهید بصورت موقتی آنها را ذخیره کنید، بطور معمول چیزی شبیه به این را تعریف خواهید کرد: ( در تمامی مثالها به جای() از علامتهای <> استفاده کنید)
کد:
(?php
  $animal1 = "dog";
  $animal2 = "iguana";
  $animal3 = "giraffe";
  $animal4 = "fish";
  $animal5 = "tiger";
?)
ذخیره هر حیوانی در یک متغیر جدا ، لیست کردن، مرتب کردن، جستجو و مقایسه هر مقدار را مشکل و یا حتی غیر ممکن کرده است. ذخیره سازی مقادیر مشابه در یک آرایه ی تک، ممکن است در ابتدا خیلی متفاوت به نظر نرسد اما امکان مدیریت داده ها را بسیار بیشتر میکند:
کد:
(?php
  $animals[0] = "dog";
  $animals[1] = "iguana";
  $animals[2] = "giraffe";
  $animals[3] = "fish";
  $animals[4] = "tiger";
?)


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



♦ آرایه های عددی

بطور پیش فرض، آرایه ها عددی هستند، یعنی هر مقدار ذخیره شده در یک آرایه با یک عدد نشان داده شده است. مقدار یک آرایه عددی به جای 1 با 0 شروع می شود. ایجاد یک آرایه عددی بسیار ساده است. شما می توانید مقادیر دستی اختصاص دهید، و یا از تابع ()array استفاده کنید، که چندین مقدار را میپذیرد و هر مقدار را با شماره ID منحصر به فرد و یا کلید عددی به هم وابسته میکند.

این سه مثال، هر کدام یک آرایه یکسان ایجاد میکنند:
کد:
(?php
  $animals[0] = "Monkey";
  $animals[1] = "Panda";
  $animals[2] = "Spider";
  $animals[3] = "Elephant";
  $animals[4] = "Ferret";

  $animals = array("Monkey", "Panda", "Spider", "Elephant", "Ferret");

  $animals = array(1 => "Monkey", 2 => "Panda", 3 => "Spider", 4 => "Elephant", 5 => "Ferret");
?)

تابع ()print_r اطلاعات خوانایی در مورد هر متغیری که به آن داده شده است، به شما میدهد. و اگر شما بخواهید اطلاعات مربوط به هر آرایه را ببینید، این مفید خواهد بود.
کد:
(?php
  $animals = array("Monkey", "Panda", "Spider", "Elephant", "Ferret");
  echo "Result: ";
  print_r($animals);
?)
نتیجه: Array ( [0] => Monkey [1] => Panda [2] => Spider [3] => Elephant [4] => Ferret )


استفاده از هر مقدار اختصاص یافته به یک آرایه ساده است، به شرطی که بدانید کدام کلید به چه مقداری اختصاص داده شده است.
کد:
(?php
  $answer = array("lizard", "panda", "mouse", "snake", "cat");
  echo "What's the definition of a narrow squeak?";
  echo "A thin " . $answer[2] . "!";
?)


♦ آرایه های انجمنی

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

ایجاد یک آرایه انجمنی بسیار ساده است. شما باید هر کلید و مقدار آن را بصورت دستی وارد کنید، اما دو روش وجود دارد که شما می توانید استفاده کنید .
کد:
(?php
  $zoo_animals['Monkey'] = 15;
  $zoo_animals['Panda'] = 3;
  $zoo_animals['Spider'] = 167;
  $zoo_animals['Elephant'] = 5;
  $zoo_animals['Ferret'] = 7;

  $zoo_animals = array("Monkey" => 15, "Panda" => 3, "Spider" => 167, "Elephant" => 5, "Ferret" => 7);
?)

مانند آرایه های عددی، تابع ()print_r را میتوان برای مشاهده اطلاعات هر آرایه و از تابع echo برای خروجی مقدار هر کلید استفاده کرد.
کد:
(?php
  $zoo_animals = array("Monkey" => 15, "Panda" => 3, "Spider" => 167, "Elephant" => 5, "Ferret" => 7);

  echo "Our zoo has" . $zoo_animals['Monkey'] . " monkeys!";
  echo "Our zoo has " . $zoo_animals['Panda'] . " pandas!";
  echo "Our zoo has " . $zoo_animals['Elephant'] . " elephants!";
  echo "Our zoo has " . $zoo_animals['Ferret'] . " ferrets!";
  echo "Our zoo has about " . $zoo_animals['Spider'] . " spiders, none of which are in cages!";
?)




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

آرایه های چند بعدی، آرایه هایی هستند که شامل آرایه ای دیگر و یا بیش از یک آرایه میباشد. بدلیل گیج کننده بودن، آنها اغلب استفاده نمیشوند اما ما با مثالی سریع آنها را معرفی میکنیم تا بدانید آنها چگونه کار میکنند:
کد:
(?php
  $animals = array("Pets"=>array("dog", "cat", "hamster"), "Farm Animals"=>array("Horse", "Cow", "Pig"), "Wildlife"=>array("Elephant", "Deer", "Camel"));
?)


در مثال ما یک آرایه به نام "animals" که شامل سه آرایه ی مختلف ("Pets"، "Farm Animals" و "Wildlife")، که هر کدام شامل سه مقدار آرایه ای از خودشان هستند . آرایه animals یک آرایه انجمنی است، اما هر یک از سه آرایه دیگر آرایه های عددی میباشند. مثال زیر مقدار "Horse" را چاپ میکند:
کد:
(?php
  $animals = array(
    "Pets"=>array("dog", "cat", "hamster"),
    "Farm Animals"=>array("Horse", "Cow", "Pig"),
    "Wildlife"=>array("Elephant", "Deer", "Camel")
  );

  echo $animals['Farm Animals'][0];
?)
 

برنامه نویس

عضو سایت
تعریف توابع ریاضی در php

php نزدیک به 50 تابع را فراهم میکند که میتوانند عملیات مختلف ریاضی را انجام دهند. همراه با اپراتورهای ریاضی ، آنها میتوانند تکالیف شما را بسیار آسانتر کنند. ساده ترین توابع ریاضی تنها به یک پارامتر واحد نیاز دارند. این پارامتر معمولا یک عدد است که به عنوان یک متغیر یا یک رشته پذیرفته شده است. برای مثال تابع ()ceil عدد را به نزدیکترین عدد کامل گرد میکند.

( در تمامی مثالها به جای() از علامتهای <> استفاده کنید)
کد:
(?php
  $num = 55;
  echo ceil($num);
  // Result Will Be: 55

  $result = ceil(295.34);
  echo $result;
  // Result Will Be: 296
?)
همانطور که میبینید، نتایج حاصل از این توابع را میتوان چاپ کرد، در یک متغیر ذخیره کرد و غیره... .

برخی توابع ریاضی چندین پارامتر میپذیرند. برای مثال، تابع ()rand بین دو عددی که به آن داده میشود، یک عدد تصادفی تولید میکند. پارامترهای چندگانه با کاما از هم جدا میشوند.
کد:
(?php
  echo rand(0, 500);
  // Result Is: 161
?)
اگر شما صفحه را رفرش کنید، خواهید دید که نتیجه بالا تغییر خواهد کرد و هر بار یک عدد تصادفی بین 0 و 500 برمیگرداند.

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

توابع (پارامترها) توضیحات
(عدد ماکزیمم ,عدد مینیمم )rand بازگرداندن یک عدد صحیح تصادفی
(عدد)ceil بازگرداندن مقدار از عدد گرد به سمت بالا به نزدیکترین عدد صحیح
(عدد)floor بازگرداندن مقدار از عدد گرد به سمت پایین به نزدیکترین عدد صحیح
(عدد)abs بازگرداندن مقدار قدر مطلق یک عدد
(عدد)base_convert تبدیل یک عدد از یک پایه به پایه دیگر
(عدد دو دویی)bindec تبدیل یک عدد دودویی به یک عدد دهدهی
(عدد دهدهی)decbin تبدیل یک عدد دهدهیبه یک عدد دودویی
(عدد دهدهی)dechex تبدیل یک عدد دهدهی به عدد هگزادسیمال
(عدد دهدهی)decoct تبدیل یک عدد دهدهی به عدد در مبنای هشت
(مقسوم علیه ,عدد)fmod بازگرداندن باقی مانده (پیمانه) از تقسیم آرگومان
(عدد مبنای هشت)hexdec تبدیل یک عدد هگزا دسیمال به یک عدد دهدهی
(عدد)is_finite اگر مقدار، یک عدد متناهی باشد، True برمیگرداند
(عدد)is_infinite اگر مقدار ،یک عدد نامتناهی باشد، True برمیگرداند
(مقدار)is_nan اگر مقدار، یک عددنباشد، True برمیگرداند
(عدد2 ,عدد1)max برگرداندن مقدار بزرگتر از بین دو عدد داده شده
(عدد2 ,عدد1)min برگرداندن مقدار کوچکتر از بین دو عدد داده شده
()pi برگرداندن مقدار عدد پی
(pow(x,y برگرداندن مقدار x به توان y
(اختیاری,عدد)round عدد را به نزدیکترین عدد صحیح گرد میکند (تعداد ارقام بعد از نقطه اعشاری اختیاری است)
(عدد)sqrt بازگرداندن ریشه مربع یک عدد
 

برنامه نویس

عضو سایت
تعریف توابع رشته ای در php

php نزدیک به 100 تابع فراهم میکند که میتوانند رشته ها را به روشهای مختلف دستکاری کنند. بعضی (نه همه ! ) از عملیاتی که روی رشته ها و عبارات انجام میدهند ، عبارتنداز:

♦ مقایسه دو رشته

♦ پیدا کردن یک رشته در رشته دیگر

♦ یافتن تعداد مواردی که یک رشته در رشته ی دیگر تکرار میشود

♦ برگرداندن بخشی از یک رشته

♦ جایگزین کردن بخشی از یک رشته

♦ اصلاح فضای خالی از انتهای یک رشته

♦ تبدیل تمام رشته به حروف کوچک یا حروف بزرگ

♦ تبدیل تمامی کراکترهای قابل اجرا به موجودیت های html و یا بالعکس

♦ جداکردن برچسبهای html و php از داخل یک رشته



ساده ترین تابع رشته ای تنها به یک پارامتر واحد نیاز دارد. این پارامتر خود یک رشته است، که به عنوان یک متغیر یا یک رشته با یک یا دو کوتیشن پذیرفته میشود. برای مثال، تابع ()strlen طول رشته ای که به آن داده شده است را برمیگرداند.

( در تمامی مثالها به جای() از علامتهای <> استفاده کنید)
کد:
(?php
  $string = "What is the definition of a caterpillar?";
  echo strlen($string);   // نتیجه باید 40 باشد

  echo strlen("A worm in a fur coat!");   // نتیجه باید 21 باشد

  $string_length = strlen($string);
  // The Length of $string (40) Is Now Stored In $string_length
?)
همانطور که میبینید، نتایج حاصل از این توابع را میتوان چاپ کرد، در یک متغیر ذخیره کرد و غیره... .

بیشتر توابع چندین پارامتر میپذیرند. برای مثال ، تابع ()strpos محل رخدادن یک رشته را داخل رشته ای دیگر بررسی میکند، و برای این کار به دو پارامتر نیاز دارد. پارامترهای چندگانه با کاما از هم جدا میشوند.
کد:
  $str = "There were four cats in a boat, one jumped out. How many were left?";
  echo strpos($str, "cat");   //نتیجه باید 16 باشد
?>
تابع ()strpos عددی را برمیگرداند که موقعیت اولین برخورد با رشته مورد نظر را نشان میدهد. اگر شما خودتان در مثال بالا این را محاسبه کنید میبینید که کراکتر "c" برای "cat" در موقعیت 17 ام است ، اما به این دلیل که اکثر توابع php شمارش را از "0" شروع میکنند در این مثال تابع عدد 16 را برگردانده است.

در زیر لیستی از 50 تابع مفید رشته ای ، همراه با شرح مختصر و پارامترهای مورد نیاز آنها را مشاهده میکنید.

توابع (پارامترها) توضیحات
(رشته)echo برگرداندن رشته های خروجی
(رشته)print برگرداندن یک رشته خروجی
(رشته)printf برگرداندن یک رشته فرمت شده خروجی
(رشته)ltrim حذف فضای خالی از سمت چپ یک رشته
(رشته)rtrim حذف فضای خالی از سمت راست یک رشته
(رشته)trim حذف فضای خالی از هر دو سمت یک رشته
(رشته)lcfirst تبدیل اولین کراکتر رشته به حرف کوچک
(رشته)ucfirst تبدیل اولین کراکتر رشته به حرف بزرگ
(رشته)strtolower تبدیل یک رشته به حروف کوچک
(رشته)strtoupper تبدیل یک رشته به حروف بزرگ
(رشته)str_word_count شمارش تعداد کلمات در یک رشته
(وقفه,عرض,رشته)wordwrap پنهان کردن یک رشته به تعداد کراکترهای داده شده (پیش فرض عرض: 75) (پیش فرض وقفه: n)
(رشته)count_chars برگردانددن تعداد دفعات رخ دادن یک کراکتر اسکی داخل یک رشته و بازگرداندن اطلاعات
(زیررشته,رشته)substr_count شمارش تعداد دفعات تکرار یک زیر رشته در رشته
(وقفه,طول,رشته)str_pad تغییر یک رشته به طول جدید
(رشته)strlen برگرداندن طول یک رشته
(شروع,رشته)substr بازگرداندن بخشی از یک رشته (مقدار شروع از "0" تا شروع اولین کراکتر)
(رشته)strrev معکوس کردن یک رشته
(رشته)str_shuffle مخلوط کردن تمام کراکترهای یک رشته بصورت تصادفی
(تکرار,رشته)str_repeat تکرار رشته به تعداد دفعات مشخص
(کراکترها,رشته)strpbrk جستجوی رشته برای هر مجموعه ای از کراکترها
(رشته,جایگزینی,پیداکردن)str_replace جایگزین کردن بعضی کراکترها در رشته (حساس به حروف)
(شروع,جایگزینی,رشته)substr_replace جایگزین کردن بخشی از یک رشته با رشته دیگر
(جستجو,رشته)stristr پیدا کردن اولین وقوع یک رشته داخل رشته ای دیگر(غیرحساس به حروف)
(جستجو,رشته)strstr پیدا کردن اولین وقوع یک رشته داخل رشته ای دیگر(حساس به حروف)
(کراکتر,رشته)strrchr پیدا کردن آخرین وقوع یک رشته داخل رشته ای دیگر
(پیدا کردن,رشته)stripos بازگرداندن موقعیت اولین وقوع یک رشته داخل رشته ای دیگر(غیرحساس به حروف)
(پیدا کردن,رشته)strpos بازگرداندن موقعیت اولین وقوع یک رشته داخل رشته ای دیگر(حساس به حروف)
(پیدا کردن,رشته)strripos بازگرداندن موقعیت اولین وقوع یک رشته داخل رشته ای دیگر(غیرحساس به حروف)
(پیدا کردن,رشته)strrpos بازگرداندن موقعیت اولین وقوع یک رشته داخل رشته ای دیگر(حساس به حروف)
(رشته2,رشته1)strcasecmp مقایسه دو رشته (غیرحساس به حروف)
(رشته2,رشته1)strcmp مقایسه دو رشته (حساس به حروف)
(شکاف,رشته)strtok تقسیم یک رشته به رشته های کوچکتر
(طول,رشته)chunk_split تقسیم یک رشته به یک سری از قطعات کوچکتر (پیش فرض طول :76)
(طول,رشته)str_split تقسیم یک رشته به یک آرایه
(رشته,جداکننده)explode شکستن یک رشته به یک آرایه
(آرایه,جداکننده)implode برگرداندن یک رشته از عناصر یک آرایه
(ضمیمه,حائل,رشته)str_getcsv تحلیل رشته csv به یک آرایه
(رشته)addcslashes برگرداندن رشته با اسلش در جلوی تک کوتیشن، ئو کوتیشن و اسلش
(رشته)stripcslashes حذف اسلش از رشته هایی که با ()addcslashes اسلش گذاری شده اند
(کراکترها,رشته)addslashes برگرداندن رشته با اسلش در جلوی کراکترهای از پیش تعریف شده
(رشته)stripslashes حذف اسلش از رشته هایی که با ()addslashes اسلش گذاری شده اند
(رشته)nl2br درج خط HTML در مقابل هر خط جدید در یک رشته
(رشته)strip_tags حذف برچسبهای html و php از رشته
(رشته)html_entity_decode تبدیل موجودیت های HTML به کراکترها
(رشته)htmlentities تبدیل کاراکترها به نهادهای HTML
(رشته)htmlspecialchars_decode تبدیل برخی از موجودیت های HTML از پیش تعریف شده به کراکترها
(رشته)htmlspecialchars تبدیل برخی از کاراکترهای از پیش تعریف شده به موجودیت های HTML
()get_html_translation_table برگرداندن ترجمه جدولهایی که از ()htmlentities و ()htmlspecialchars استفاده کرده اند
 

elupt

کاربر تازه وارد
تازه وارد
Добрый день!
Жизненно серьезный и важный вопрос!?
Уважаемые и дорогие мужчины, помогите!
Кто разбирается и понимает в строительстве фундамента для бани, дома, дачи, гаража есть такие?
Было бы отлично и здорово, если бы вы занимались и имели бы опыт в строительстве фундаментов, есть такие?
В интернете много пишут и говорят о строительстве фундамента за 50% или за полцены.
Мне интересно это правда или уловка?
Нашла в интернете сайт Школы частных прорабов Prorab2.ru, они утверждают, что можно строить качественные и дешевые фундаменты для бани, дома, дачи, гаража и т.д.
Это правда или нет, действительно можно строить фундаменты за полцены или за 1/2, соблюдая все строительные нормы и не нарушая технологического процесса?
Взгляд на вещи у меня конечно женский, а не мужской, мне что-то мало в это верится, в общем, я сомневаюсь и колеблюсь.
Сайт у них конечно хороший и пояснительный, с множеством подробных и разъясняющих статей с схематическими рисунками и таблицами, например:
Как делать ленточный фундамент под баню пошагово
После ознакомления с сайтом и прочтения нескольких статей начинаешь верить в правдоподобность и реальность этого утверждения.
Действительно начинаешь верить в строительство качественных и дешевых фундаментов под гараж, дом, дачу, баню и т.д. за 1/2 или полцены.
Еще есть хороший и важный момент, на сайте есть раздел посвященный психологии в ремонте и строительстве, в нем рассказывается обо всех строительных и ремонтных процессах, как бы изнутри.
Есть моменты и тонкости, о которых вообще ни кто не рассказывает и не пишет, например:
Психология прораба в ремонте
Практики, профессионалы и специалисты в строительстве фундаментов, можно ли строить дешевые и качественные фундаменты за 50% или за полцены от цены фундамента, или нельзя?
Вот адрес Школы частных прорабов Prorab2.ru, обучающей и осуществляющей строительство фундаментов за 50% или за полцены от цены фундамента https://prorab2.ru/ .
До скорой встречи!
 
بالا