آشنایی با برنامه نویسی به زبان php

128
ان ب ه ز ی بس ی و ن امه رب ب ا ی ب ی ا ن ش آPHP ی زآ ت ی ر سا ب م ک ر گ ب دآده و د) ک ن م ا ن ی دآ حات ف ص ه ود زآ ب خ ای که ج ت ش ها آ ت ده مد ی س ح رآ ط ش> پ ی آز ی حا ف ص ا ب) ک ن ی ا ن ش های آ ت یسا ی اد و ح ی آ ل ن م ی ی ها ت ا ب د، ز اس ده ب ی سس ی و ن ی کد ت سن وه ی ش ه ط ب ه خ ط ب خ ش ی وآN ی ح م که ت ف ا ب وآن ن ی مasp , php اد ح ی آ دز وت ن ی و ن ی ل و ح ی و... رآX چ د، آما ودب ن ز رآن گ ب د زآ آز ت ق ب ش وی گ هN ت ف ه زN ت ف رده و ز کphp ود ش ی م وط ن ر م ادی ب ل ز م وآ ع ه وآل ب ش ن ی ه آ ب خ س اX م؟ ب ی کن ات ح ت ی زآ آ، ف ل ت ح م ع ب ا ن م ه ی ب س ر ستی، د د ن م ت دز و ق ات ی، آمکابX یx ی آچX ی ی ی گا مله زآی ج ها آز ت ی ر م ه ه ب وج ن ا ی ب ل و ت س ی پ ل م ی کا ی ا ب زx خ> ی ه رآ کهX چ ی آز ی ا ن کل ن ت ج و م آ ش آزX ی د ن سن ه ی وتس ی و ن امه رب ب م عل ری گترآ ف ه د ب ن م ق ر علا گ م آ ی کن ی م ه ت ص و ن رده و... ست گ اده ف ب ش روزها، آ س وآع ن ا آ گازی ب سازcss, html وjavascript ا زآ ب ان ن س یما دآ حتphp ( وآN ی ح م ت یر ب های مد امه رب ب که ت ش آ ت ش، دز د ن کن ل م کاCMS د ود دآزب خ ی و ی ها ده ه آب س می ه د آما رده آب ک ت ح ی زآ ل ن ح کاز زآ) د. وب ش ل ک ش م ازX ا دج د ب ن کن ع ف ها زآ ز ت د آ ن ی وآ ی ی ت ش آ ن مک م، رآن گ ب ی دس ی و ن کد ودن ن م ه مب ل ن ل ه د د که ب ب ی آ م ش> پ ی ی کلا ش م ا د و ب ت ح ن گ ی م ت ها ت آ ت ل ا که دز ق ش وز م آphp ن ت ج و م د آ اب سPHP ی ل ا ن ح ی د ط زوی کاع ه خ ط ب زآ خ ی مان هت های د ده آب ت س ی ق ی کاس ی و ن امه رب ب های ان ب ری ز گت اد رآی ب ب ولا صرسد آما آ ب ر' ظ ن ه ده ب> تX ح ی گاه آول کازی دز ی( ن ت س و ن وه ی ش ه ه ب وج ن ا ش بX سی و م یس ی و ی یsyntax زآ ر تX ج مه ه ود که ش ی ع د مد وآب ن ی م ت ش کx خ> ی ه ی ف ر ط م، آز ی و ش م ی س سی ه ده ب آب دن ماب ه ف ل و پ د ن ی ل ج ال زآه ن ی ه د ی ب ی ا ب ر ز ه) م ی ه وآ خ ی شع مان ت ها ش وز م ؛ ما دز آ م ی ی ا ب ت ش د ن ه آ م ب ی ی وآ ن ی م ت ف و د لاش ی ب م ک ا که ب ت ش ی آ ر تX ج، از ن ی ع ف ا جد ز ه ب رب ج ی ن ت س ه و دآ ت لل آو و ص آ ن ست ی ی دآ ل د و ی دآب م یس ی و ن کد ت ل ا ای ج ن ی ا د ما زآ ب ش ر ت ب ی ف ه جد کا ی ب ی و گ ر ص ت ح م ن عت رد که دز کphp م. ی کن ا ن ش آ رآی کدهای چ آphp ل م م عا ی س سی دز ی که ی ا ح ی آ آزphp ( روز س ت م ش ان ب ز)ک پserver side ه روز م د که آ ی دآزب از ح م روز س وآن ی ع ت ح ی ی ی ها امه رب ب ه ب از ن ی ود خ م ی س سی دز ن رآی آ چرآی آ ب ت ش آ) : ت ش رش آ ست ل د پ ا ر ق ب دزش ز ها دز آ ن ی ر هت ت ی آز ک> ب ه وب م ترآی ب د، نN سن ه رش ست دز د ان گ زآی وزت ص ه بwww.wampserver.com : ن ت تX ح م هwww.appservnetwork.com : ن ت تX ح م ه وwww.apachefriends.org های امه رب ب)ک ر پ ه ت ص ن ش آزX یWampServer، AppServ ا بXAMPP ل های پ ا رآی ق چ ه آ ادز ب ما ق ش ون ی ک آphp ه ت لن ود، آ ن د ن ه وآ خ ان ودب خ م ی س سی زوی وآن ی ع ا ه آی ب وسX ن ولا م مع ی که از ح م روز س ه س ی دز ز د اب زآ ب ان ن ل ب ا قwww ازت ن ع رض ف ه ب ان رب گ روز م ش دزX سی د؛ ن¨ ی ما ت یX کت ت ش آhttp://localhost/example.php ل پ ا ا ق د ب نس ی و ی ی زآexample.php ولدز ف آزwww ی س ر ست د ن ی لا ب روز آ س)ک ه پ م که ب ه ر گ ود، آ ش ی ی وآ خرآ ف د. ن کن ل ف ب من روز س ه زآ ب ان ن ل ب ا ق ت ش ی آ ف و کا ت ش ر آ ب ت ح ی زآ ل ن ح د کاز دآزب ا ال ب ن م د تX حphp

Upload: soli1363

Post on 15-Jan-2016

241 views

Category:

Documents


0 download

DESCRIPTION

آشنایی با برنامه نویسی به زبان

TRANSCRIPT

PHPآشنایی با برنامه نویسی به زبان

ایجاد وبسایت های استاتیک با صفحاتی از پیش طراحی شده مدتها است که جای خود را به صفحات

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

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

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

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

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

کامل کنید، درست است که برنامه های مدیریت محتوا )php حتما دانشتان را با javascript و css, htmlآموختن کلیاتی از

CMSکار را خیلی راحت کرده اند اما همیشه ایده هایی وجود دارند که در قالب آنها نمی گنجند و یا مشکالتی پیش می آید که )

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

phpآموزش

در نگاه اول کاری پیچیده به نظر برسد اما اصوال برای یادگیری زبان های برنامه نویسی کافیست ایده هایPHPشاید آموختن

( هر زبانی به دنبال راه حلsyntaxذهنی مان را خط به خط روی کاغذی خیالی بنویسیم و سپس با توجه به شیوه نوشتن )

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

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

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

در سیستم عاملphpاجرای کدهای

( است برای اجرای آن در سیستم خود نیاز به برنامه هایی تحت عنوانserver side یک زبان سمت سرور )phpاز آنجایی که

سرور مجازی دارید که امروزه به صورت رایگان در دسترس هستند، برای نمونه یکی از بهترین ها در آدرس زیر قابل دسترس

است:

www.wampserver.com

همچنین:

www.appservnetwork.com

و همچنین:

www.apachefriends.org

روی سیستمphp اکنون شما قادر به اجرای فایل های XAMPP یا WampServer، AppServپس از نصب هر یک برنامه های

است کپی نمائید؛ سپس درwwwخودتان خواهید بود، البته فایلتان را باید در ریشه سرور مجازی که معموال پوشه ای با عنوان

فراخوانیwww از فولدر example.php را بنویسید تا فایل http://localhost/example.phpمرورگرتان به فرض عبارت

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

phpچند مثال با

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

قابل دسترسی است و این یکی از نقاط قوت آن محسوب می شود؛ برای شروع و آشنایی بیشتر به کدها و مثالhtmlساده

های زیر توجه کنید:

<?php

echo " کد ;"!من php اولین

?>

توضیح:

و عالمت سوال نوشته می شوند )شیوه استاندارد(.php بین دو تگ عالمت سوال ، php- کدهای

مقادیر را به خروجی ارسال می کند.echo- دستور

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

<?php

$text = " کد ;"!من php اولین

echo $text;

?>

پیش نمایش

توضیح:

من! به جای پرینت مستقیم، ابتدا به یک متغیر داده شده و سپس آن متغیر به خروجی داده میphp- در کد باال عبارت اولین کد

شود )عالمت $ نشان دهنده تعریف یک متغیر است(.

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

<?php

$num1 = 20;

$num2 = 50;

$total = $num1 + $num2;

echo $total;

?>

پیش نمایش

توضیح:

کهnum2 و num1 برابر است با حاصل جمع دو متغیر total را به خروجی خواهد داد و متغیر total- کد باال مقدار متغیر

اعدادی به دلخواه به آنها داده ایم.

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

مثالی دیگر:

<?php

$name = 'webgoo.ir';

if ($name == 'webgoo.ir'){

    $hi = ' وبگو ;'!سالم

}

else{

    $hi = ' ناشناس ;'!سالم

}

echo $hi;

?>

پیش نمایش

توضیح:

-if اگر( و( else.برای ایجاد شرط به کار می روند و عالمت == نشان دهنده برابری دو طرف آن است )در غیر اینصورت(

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

PHP « آموزش مقدماتی دسته بندی:

PHP برچسب ها:قبلی «

» بعدی

مطالب بیشتر:  - بخش اولphpتوابع کار با آرایه در  «php( در Functionsتوابع ) « - بخش سومPHPتوابع کار با آرایه در  «php در case و switchکار با  «php( محاسبه و مقایسه در Operatorsعملگرهای ) «

یادداشت برای این مطلب ارسال شده است(۷۱نظرات )

حسین نویسنده:

۱۳۹۱/۰۹/۳۰تاریخ: - ۲۳:۴۴:۵۵زمان:

مستقیم کد پی اچ پی نوشت؟ifسالم خسته نباشید. یه سوال میشه مستقیم در شرط های

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

<?php

@session_start();

$key=$_SESSION['count'];

$imag = $_POST['number'];

$user = md5($imag);

//echo "$imag = = = $key<br>";

//echo("$user");

if($user==$key)

{

ob_start();

$URL="get.php"; header ("Location:$URL");

ob_end_flush();

}

else{

echo "! است اشتباه شده وارد <br>کد

#& کن وارد را کد دقت با دوباره و زده را د;1740برگشت ";}

?>

<head>

<meta http-equiv="Content-Type" content="text/html" charset="utf-8" />

<title> PARSCMS.NET </title>

<style>

body {

font-family:tahoma;

font-size: 12px;

background :#eee;

}

a {

text-decoration: none;

}

</style>

</head>

<center>

<br />

<a href="http://site.com/"> اصلی صفحه به <a/>برگشت

</center>

 پاسخ:

سالم

( قرار می دهند، به طور مثال اگر کد فعلیif در صفحه اصلی )درون شرط includeبرای این مواقع معموال فایل را به صورت

کرد:include باشد، می توان به شکل نمونه زیر در صفحه مورد نظر check.phpدر فایل فرضی

if($your_var == TRUE){

include('check.php')

}

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

(.BOMکاراکترهای نامرئی

ehsan نویسنده:

۱۳۹۱/۱۲/۲۳تاریخ: - ۱۴:۱۲:۱۹زمان:

دوباره سالم

ضمیمه کرده ام حاالincludeنمیدونستم این سوال رو کجا بپرسم. من یک فایل دارم که اون رو داخل یک فایل دیگر با دستور

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

با تشکر

 پاسخ:

سالم

یک مقدار تعریف کنید، به طور مثال:defineبرای این کار چند روش وجود دارد، در ابتدای فایل اصلی، با استفاده از

<?php

define('Index', TRUE);

include('example_file.php');

?>

شده وضعیت متغیر فوق را بررسی کنید، اگر وجود داشت محتوای آن در دسترس باشد:includeو سپس در فایل

<?php

if(defined('Index')){

// فایل محتوای

}

else{

// غیرمجاز دسترسی

}

?>

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

. نمونه دستورات زیر را قرار دهید:htaccessمنظور در یک فایل

RewriteEngine On

RewriteRule ^(example_file\.php) - [F,L,NC]

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

ehsan نویسنده:

۱۳۹۱/۱۲/۲۵تاریخ: - ۱۳:۵۰:۲۲زمان:

سالم

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

section/ مقدماتی- html/آموزش

اطالعات رو از پایگاه داده میخوندم.getمن همیشه با گرفتن اطالعات به روش

مثال:

catagory.php?id=4

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

 پاسخ:

سالم

)دوباره نویسی لینک ها( در آن آشنا باشید، بدین منظور می توانید ازurl rewrite. و دستورات htaccessباید با نحوه کار فایل

را جستجو کنید.url rewriteقسمت جستجوی سایت، عبارت

سرباز نویسنده:

۱۳۹۲/۰۱/۲۳تاریخ: - ۱۴:۵۲:۳۱زمان:

سالم

یه ؟ داشتم

وقتی صفحه های پیش نمایش رو می بینم در کد صفحه نتیجه نهایی به صورت کد نوشته شده...

مگه نباید فقط برنامه پی اچ پی نوشته بشه و نتیجه نهایی بدون نوشتن کد مجدد در صفجه نمایش داده بشه؟

 پاسخ:

سالم

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

درج شده اند.PHPهای

zahra نویسنده:

۱۳۹۲/۰۲/۱۵تاریخ: - ۱۲:۵۷:۴۰زمان:

 سالم

طراحی کردم که یوزر و پسورد میگیره وhtmlمن یه فرم با

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

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

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

 پاسخ:

سالم

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

لطفا نمونه کدی قرار دهید.

zahra نویسنده:

۱۳۹۲/۰۲/۱۵تاریخ: - ۱۳:۳۲:۲۹زمان:

php htmlاز

<html>

<head>

<title>ورود</title>

</head>

<body>

<table border=2 height=100% width=100%>

<tr >

<td colspan=3 height=15% width=100% align="center" bgcolor=red>

<font size=10 color=ffffff><B> خانگی وگیاهان ها <b> </font/> گل

</td>

</tr>

<tr>

<td height=100% width=10% align=center>

</td>

<td height=100% width=75% >

<align=right> : کنید وارد را خود عبور رمز و کاربری نام ورود <right/> برای

<form method="post" action="homework.php">

<left> کـاربری <input type="text" name="username"> <br><br> : نـــام

<left> عبـــور <input type="password" name="pass"><br> : رمـــز

<center>

<input type="submit" value="submit">

</form><hr>

<?php

$user=$_POST['username'];

print $user ;

$_POST['username']=NULL;

?>

</td>

<td height=100% width=10% align=center>

</td>

</tr>

<tr >

<td colspan=3 height=10% width=100% align="center">

شـمــا از تشکــر بـــا

</td>

</tr>

</table>

</body>

</html>

 پاسخ:

کد تست شد، چنین مشکلی وجود ندارد!

می گیرد و این مقادیر تنها زمانی وجود دارد که فرم ارسال شده باشد، کد شما خروجیPOST مقادیرش را از متد userمتغیر

دیگری چاپ نمی کند!

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

zahra نویسنده:

۱۳۹۲/۰۲/۱۵تاریخ: - ۱۵:۳۲:۴۲زمان:

ممنون از اینکه وقت گذاشتید

 منظورم اینه که وقتی مقدار یوزر رو وارد تکست باکس میکنم مثال زهرا مقدارش روی صفحه چاپ میشه

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

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

 پاسخ:

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

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

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

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

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

استاندارد به همراه متاتگ نیز استفاده کنید )هر چند این نمی تواند دلیل مشکل باشد(، بایدhtmlسعی کنید از سربرگ های

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

zahra نویسنده:

۱۳۹۲/۰۲/۱۵تاریخ: - ۲۰:۵۲:۲۲زمان:

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

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

Notice: Undefined index: username in C:\wamp\www\homework\homework.php on line

25

 پاسخ:

( است و در واقع معموال خطای کلیدی نیست، دلیل آن هم این است که مقادیر متغیرNoticeاین یک پیام از نوع توجه بیشتر )

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

دهید، مثال:

$@user=$_POST['username'];

ضمن اینکه قسمت زیر در کد شما لزومی ندارد و به نظر زائد است:

$_POST['username']=NULL;

zahra نویسنده:

۱۳۹۲/۰۲/۱۵تاریخ: - ۲۱:۰۹:۴۰زمان:

 خیلی خیلی ممنون

لطف کردین

vahid نویسنده:

۱۳۹۲/۰۲/۱۶تاریخ: - ۲۰:۵۱:۲۴زمان:

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

ایا منبعی سراغ دارید؟؟

 پاسخ:

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

بررسی و هر کدام که به نظرتان دارای سرفصل های بهتری بود انتخاب کنید، در وب نیز چه به زبان فارسی و چه انگلیسی منابع

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

عنوان کنیم.

zahra نویسنده:

۱۳۹۲/۰۲/۱۸تاریخ: - ۱۵:۴۴:۵۹زمان:

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

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

به جای حروف دریافتی در تکست باکس پسورد ستاره و به جای اعدادعالمت # را روی صفحه چاپ کند و نیزsubmitدکمه

امکان تغیر یوزر به صورت دستی و در نوار آدرس نباشد

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

باتشکر

 پاسخ:

سالم

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

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

<?php

تابع//

function StrNum($value){

$leng = strlen($value);

for($i = 0; $i <= $leng; $i++){

$alpha = @$value[$i];

if(is_numeric($alpha) || $alpha == '*'){

$value = str_replace($alpha, '*', $value);

}

else{

$value = str_replace($alpha, '#', $value);

}

}

return $value;

}

// فرم از اطالعات دریافت

@$pass = $_POST['pass'];

خروجی//

echo StrNum($pass);

?>

گرفته ایم و برای گرفتن خروجی آن را از تابع عبور داده ایم.passدر اینجا ما مقادیر را از فیلد فرضی

zahra نویسنده:

۱۳۹۲/۰۲/۱۸تاریخ: - ۲۰:۰۷:۵۲زمان:

 باز هم از راهنمایی شما تشکر می کنم

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

zahra نویسنده:

۱۳۹۲/۰۲/۱۹تاریخ: - ۲۰:۱۵:۱۴زمان:

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

من بازم به مشکل برخوردم

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

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

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

خواهش میکنم بازم راهنماییم کنید ممنون

 پاسخ:

سالم

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

امیر نویسنده:

۱۳۹۲/۰۴/۰۷تاریخ: - ۱۴:۰۶:۴۱زمان:

سالم

یه متغیر داریم مثل

$mytext

کاراکتر اول رو چاپ کنه چیکار کنم؟20 فقط echoحاال میخوایم موقع

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

<?

$mytext = ' نویسی برنامه های زبان از بسیاری مثل ، php عملگرهای و قوانین از نیز

کند می استفاده مقادیر مقایسه و محاسبه جهت ;'خاصی

echo $mytext;

?>

 پاسخ:

سالم

" در این خصوص صحبت شده، از قسمت جستجویPHPدر مطلبی مجزا تحت عنوان "نمایش قسمتی از متن و پاراگراف با

سایت عبارت "پاراگراف" را وارد کنید.

سورس کد برنامه نویسی نویسنده:

۱۳۹۲/۰۴/۱۰تاریخ: - ۰۹:۳۵:۱۰زمان:

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

ممنون می شوم

 پاسخ:

می شوند(include خیلی پیچیده نیست، ابتدا در صفحه اصلی )یا صفحه ای که سایر فایل ها در آن defineاستفاده از تابع

مقادیر مورد نظر را به یکی از روش های نمونه زیر تعریف می کنیم:

define('STRING', 'your string');

define('DEFINED', TRUE);

( می توانیم در ادامه کدها از مقادیر تعریفFALSE یا TRUEسپس با توجه به نوع به کاربری )تعریف یک مقدار یا در نظر گرفتن

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

مثال:

echo STRING;

your string :خروجی//

از ان استفاده کرد:else و if بود، به فرض می توان در عارات شرطی FLASE یا TRUEاما اگر به صورت

if(DEFINED == TRUE){

// نظر مورد فرآیند انجام

 

php( در Variablesآشنایی و کار با متغیر ها )

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

یک زبان سمت سرور است و پردازش آن توسط مفسر )سرور( انجام می شود و البتهphpکه

است؛ اکنون در ادامه آموزش های مقدماتی، در این مطلب می خواهیمhtmlخروجی آن به صورت

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

که چگونه یک متغیر را تعریف و در جای جای کدمان آن را به کار ببریم.

phpتعریف متغیر در

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

باشد؛ متغیر ها مثل مواد خام هستند و طی فرایندی که در کدنویسی برایشان تعریف می کنیم نهایتا خروجی مورد انتظارمان را

کتاب دارند؛ حال می خواهیم از داده های موجود چند کد54 و محمد نیز 13، حسین 23ایجاد می کنند؛ مثال فرض کنید احمد

محاسباتی فرضی بسازیم:

<!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> در | متغیر تعریف <php</title وبگو

<!-- http://webgoo.ir -->

<style type="text/css">

body{

    font-family:Tahoma, Geneva, sans-serif;

    font-size:12px;

    direction:rtl;

}

</style>

</head>

<body>

<?php

$ahmad = 23;

$hossein = 13;

$mohammad = 54;

$all = $ahmad + $hossein + $mohammad;

$ahmad_hossein = $ahmad + $hossein;

echo " محمد و حسین دارند all$ احمد، ;"</ br>!کتاب

echo " حسین و دارند ahmad_hossein$ احمد ;"</ br>!کتاب

?>

</body>

</html>

پیش نمایش

توضیح:

را در اصطالحphp نیز نوشت )کد های html را می توان در تگهای php- همانطور که در مثال باال مالحظه می کنید، کدهای

html embedded.)گویند

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

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> در | متغیر تعریف مختلف php وبگو های روش <title/> به

<!-- http://webgoo.ir -->

<style type="text/css">

body{

    font-family:Tahoma, Geneva, sans-serif;

    font-size:12px;

    direction:rtl;

}

</style>

</head>

<body>

<?php

// اپوستروف با متغیر

$name = 'webgoo';

// اپوستروف + قول نقل با متغیر

$web = "$name".'.ir';

// عالمت بدون متغیر

$port = 25;

// فرضی خروجی چند

echo $web.'<br />';

echo $web.'&nbsp;'.$port.'<br />';

?>

</body>

</html>

پیش نمایش

توضیح:

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

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

PHP « آموزش مقدماتی دسته بندی:

PHP برچسب ها:

قبلی «

» بعدی

مطالب بیشتر:  - بخش سومPHPتوابع کار با آرایه در  «php در case و switchکار با  «php( در Functionsتوابع ) «php( محاسبه و مقایسه در Operatorsعملگرهای ) « - بخش اولphpتوابع کار با آرایه در  «

یادداشت برای این مطلب ارسال شده است(۱۰نظرات )

حبیب نویسنده:

۱۳۹۲/۰۱/۰۸تاریخ: - ۰۲:۲۲:۵۲زمان:

سالم

$ رو چاپ میکنه ممنون اگه کمکم کنینname$ )مقدار دهی شده( همون nameچرا به جای ارزش واقعی

echo ('<font font size ="14" color ="red" >$name</font>');

 پاسخ:

سالم

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

echo ('<font font size ="14" color ="red" >'.$name.'</font>');

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

به بعد امکانپذیر شده، اما همچنان بین توسعه دهنده گان وب کاربرد چندانی ندارد،5.3.0 از نسخه PHP در gotoاستفاده از

اگر برنامه خوبی بنویسید که نظم در آن رعایت شده باشد یا به فرض به صورت شی گراء باشد، نیازی به استفاده از این امکان

صرفا در موارد خاصی کاربرد دارد )به فرض ایجاد پرش از قسمتی از کد به قسمت دیگر، شکستن سیکل حلقهgotoنیست،

های تو در تو و...( که این موارد از طریق روش های عادی نیز امکانپذیر است.

اگر ممکنه در مورد جای گذاری یک تابع بین قطعه کد اچ تی ام ال که قراره خودشون داخل یک متغیر قرار بگیرن توضیح بدید.

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

$this->head_msg = '<div class="tt-notice" style="width: 800px; margin: 15px

0;"><?php __('buy this theme','them')?></div>';

این کد، روش ساده زیر به کار می آید:HTMLبرای قرار دادن تابع در بین خروجی

$this->head_msg = '<div class="tt-notice" style="width: 800px; margin: 15px

0;">'.yourFunction().'</div>';

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

$this->head_msg = yourFunction('<div class="tt-notice" style="width: 800px;

margin: 15px 0;"></div>');

میخواستم بدونم تفاوت های

include 

require

include_once

require_once

چیه؟؟؟

اگر فایل مورد نظر درrequire است، اما فرق آنها این است که با PHPتمام موارد باال برای وارد کردن فایلی دیگر در یک فایل

= حالتrequire از پردازش ادامه کدها خودداری می کند )PHPدسترس نباشد یا به فرض نام آن اشتباه باشد و... مفسر

هم یعنی اگر قبال فایل مورد نظر واردonce ادامه کدها را پردازش می کند، پسوند PHP مفسر includeضروری( اما برای

تکرار شود، تنها یکinclude_onceشده باشد، دستورات مشابه بعدی نادیده گرفته می شوند )به فرض در یک حلقه اگر دستور

بار فایل وارد می شود(.

php( محاسبه و مقایسه در Operatorsعملگرهای )

نیز از قوانین و عملگرهای خاصی جهت محاسبه وphpمثل بسیاری از زبان های برنامه نویسی،

مقایسه مقادیر استفاده می کند، در بحث پیشین از بخش آموزش های مقدماتی، دیدیم که چگونه می

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

htmlاست )اعم از متغیر هایی که خودمان تعریف می کنیم یا توسط کاربران و از طریق فرم های

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

ریاضی را محاسبه می کند )البته از عبارت ریاضی، ترسی نداشته باشید؛ ریاضی در بحث ما در حد محاسبات اولیه است و بیش

از این به آن نیازی نیست!(.

شباهت زیادی به جاوا اسکریپت دارند، اگر تا به حال با جاوا اسکریپت کار کرده باشید، در این مورد مشکلphpعملگرها در

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

php( در arithmetic operatorsعملگرهای محاسبه )

php.با استفاده از عالئم زیر، محاسبات ریاضی را انجام می دهد

برای جمع از عالمت + استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$addition = $a + $b;

?>

خواهد شد.13 را با هم جمع کرده ایم که حاصل b و aدر مثال باال دو متغیر فرضی

برای تفریق از عالمت - استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$subtraction = $b - $a;

?>

  خواهد بود.3حاصل مثال باال

برای ضرب از عالمت * استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$multiplication = $b * $a;

?>

خواهد بود.45حاصل مثال باال

برای تقسیم از عالمت / استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$division = $b / $a;

?>

خواهد بود.1.6حاصل مثال باال به صورت اعشاری و

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

<?php

$a = 5;

$b = 8;

$modulus = $b % $a;

?>

قابل گنجاندن است( و باقیمانده8 تایی در 5 بخش پذیر است )یعنی یک 5 تنها یک بار بر 8 خواهد بود، چرا که 3حاصل مثال باال

خواهد بود.3عدد

ترکیب عملگرهای محاسبه با مساوی

در محاسبات، امکان ترکیب عالئم ریاضی با مساوی است که برای کوتاه کردن کدنویسی استفاده میphpیکی از قابلیت های

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

این شیوه معموال برای تکرار یک متغیر با مقادیر مختلف در یک کد استفاده می شود(:

عالمت =+ معادل = و + است، مثال زیر روشن است:

<?php

$a += 5;//short method

$a = $a + 5//long method

?>

عالمت =- معادل = و - است:

<?php

$a -= 5;//short method

$a = $a - 5//long method

?>

عالمت =* معادل = و * است:

<?php

$a *= 5;//short method

$a = $a * 5//long method

?>

عالمت =/ معادل = و / است:

<?php

$a /= 5;//short method

$a = $a / 5//long method

?>

عالمت =% معادل = و % است:

<?php

$a %= 5;//short method

$a = $a % 5//long method

?>

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

استفاده می شود:

<?php

$a .= 'text';//short method

$a = $a . 'text'//long method

?>

php( در comparison operatorsعملگرهای مقایسه )

آشنا شدیم، نوبت به فراگیری اصول مقایسه ای است، اما اساسا مقایسه در برنامه نویسیphpحال که با عالئم محاسباتی در

داشته باشید، آموزش را با مثالی ادامه میphpچه فایده ای دارد؟! برای اینکه درک کلی و روشنی از مقایسه و فایده آن در

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

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

کشور تنظیم نماید، امکان این کار با مقایسه کشور کاربر با عبارتی که ما مد نظر داریم فراهم می شود و به طور ساده خواهیم

قرار بده و...(؛ این برابر بودن یا نبودن با عالئم مقایسه ای انجامy بود، زبان سیستم را xنوشت: )اگر کشور کاربر برابر عبارت

می شود.

برای مقایسه برابری دو طرف رابطه از عالمت == استفاده می کنیم:

<?php

$a = 5;

$b = 5;

$a == $b;

?>

است5 مقایسه کرده ایم که این مقایسه درست خواهد بود؛ چون مقدار هر دو متغیر b را با aدر مثال باال برابر بودن متغیر

)مقایسه را می توان برای مقادیر رشته ای )متنی( نیز انجام داد(.

نکته: برای مقایسه برابر بودن دو طرف رابطه از هر جهت )هم از لحاظ مقدار و هم نوع(، از عالمت === استفاده می کنیم،

FALSE به صورت عددی با عملگر === مقایسه کنیم، نتیجه 5( با عدد string' را به صورت متنی )5به طور مثال اگر عدد '

خواهد بود.

برای مقایسه برابر نبودن دو طرف رابطه از عالمت =! استفاده می کنیم:

<?php

$a = 5;

$b = 5;

$a != $b;

?>

است و برابر هستند.5بر این اساس، حاصل رابطه باال درست نیست، چرا که مقدار هر دو متغیر

نکته: برای مقایسه برابر نبودن دو طرف رابطه از هر جهت )یا از لحاظ مقدار یا از نظر نوع(، از عالمت ==! استفاده می کنیم،

TRUE به صورت عددی با عملگر ==! مقایسه کنیم، نتیجه 5( با عدد string' را به صورت متنی )5به طور مثال اگر عدد '

خواهد بود.

برای مقایسه کوچکتر بودن از عالمت < استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$a < $b;

?>

کوچکتر خواهد بود.b از متغیر aبا توجه به مثال باال، متغیر

برای مقایسه بزرگتر بودن از عالمت > استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$a > $b;

?>

است بزرگتر نیست.8 که مقدارش b است و از متغیر 5 مقدارش aبر این ساس رابطه باال صحیح نیست، چرا که متغیر

برای مقایسه کوچکتر مساوی از عالمت =< استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$a <= $b;

?>

کوچکتر است اما مساوی نیست، لذا این رابطه درست خواهد بود )کافی است یکی ازb از aبر اساس رابطه باال، متغیر

( فرض شود(.trueشرایط مقایسه صحیح باشد تا کل آن صحیح )

برای مقایسه بزرگتر مساوی بودن نیز از عالمت => استفاده می کنیم:

<?php

$a = 5;

$b = 8;

$a >= $b;

?>

نیست، پس هیچ کدام از پارامترهای این مقایسه صحیح نیست )و مقدارb بزرگتر یا مساوی با aبا توجه به مثال باال، متغیر

false.)خواهد بود

چطوری میشه حاصل تقسیم رو به صورت رند نشون بده؟

نشون بده )به صورت عدد صحیح(3 یا 2 ولی نتیجه رو 2.5 میشه 2 تقسیم بر 5مثال

 پاسخ:

سالم

می توانید از تابع

round

استفاده کنید، مثال:phpو تنظیمات آن در

<?php

echo round(2.5, 0, PHP_ROUND_HALF_UP);// 3نتیجه:

echo round(2.5, 0, PHP_ROUND_HALF_DOWN);// 2نتیجه:

?>

همچنین تابع

ceil

عدد اعشاری را به باال و تابع

floor

عدد اعشاری را به پائین گرد می کند.

برای نمایش نام مرورگر وجود داره؟phpکد

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

<?php

echo @$_SERVER['HTTP_USER_AGENT'];

$browser = get_browser(NULL, TRUE);

print_r($browser);

?>

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

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

<?php

function DetectBrowser(){

$browser_array = array(

'version' => '0.0.0',

'majorver' => 0,

'minorver' => 0,

'build' => 0,

'name' => ' مشخص ,'نا

'useragent' => NULL

);

$browser_list = array(

'firefox', 'msie', 'opera', 'chrome', 'safari', 'mozilla', 'seamonkey',

'konqueror', 'netscape', 'gecko', 'navigator', 'mosaic', 'lynx', 'amaya',

'omniweb', 'avant', 'camino', 'flock', 'aol'

);

if(isset($_SERVER['HTTP_USER_AGENT'])){

$browser_array['useragent'] = $_SERVER['HTTP_USER_AGENT'];

$user_agent = strtolower($browser_array['useragent']);

foreach($browser_list as $key => $value){

if(preg_match("/($value)[\/ ]?([0-9.]*)/", $user_agent, $match)){

$browser_array['name'] = $match[1];

$browser_array['version'] = $match[2];

@list($browser_array['majorver'], $browser_array['minorver'],

$browser_array['build']) = explode('.', $browser_array['version']);

break;

}

}

}

return $browser_array;

}

$result = DetectBrowser();

echo 'مرورگر: '.$result['name'].' نسخه: '.$result['version'];

?>

عملگر مقايسه اي >< و عملگر ==! به چه معني هستند ميشه توضيح بدين

ندارد )به صورت تک تک به معنی بزرگتر و کوچکتر است(، عملگر ==! نابرابری دوPHPعالمت >< به این صورت کاربردی در

است اما عددstring با این عملگر مساوی نیست، چون عدد اول یک 1' با 1مقدار را از هر لحاظ مقایسه می کند، به فرض '

است.intدوم یک

درصد کنیم40 رو ضرب در 10درصد چطور حساب میشه مثال می خوایم

 پاسخ:

سالم

چقدر می شود، از تابع زیر استفاده کنید:10 درصد 40اگر منظورتان این است که

<?php

function Percentage($total, $percentage){

return $total * ($percentage / 100);

}

echo Percentage(10, 40)

?>

توسعه داد. سوالc/c رو با زبان دیگه مثل ++php میشه نرم افزار تحت وب طراحی کرد. و این که میشه زبان phpبا زبان

نوشت؟phpاخر میشه کدهای پرل رو بین کدهای

در پاسخ به سوال اول:

PHP.از پرکاربردترین ها و یکی از مناسب ترین زبان ها برای نوشتن و طراحی نرم افزارهای تحت وب است

در پاسخ به سوال دوم:

برای وب به اندازه ای قوی هستPHP وجود دارد، اما C با ++PHPتا آنجا که اطالع داریم، امکان نوشتن اکستنشن هایی برای

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

در مورد سوال آخر:

دو زبان سمت سرور با مفسرهای متفاوت هستند و حتی اگر باPHP و Perlاین سبک کدنویسی در وب توصیه نمی شود،

قابل ترکیب باشند، به تجربه در موارد زیادی با مشکل مواجه خواهید شد.shell_execتوابعی مانند

کد زیر برای چاپ وارون یک عدد است

<?php

$n = 254;

while($n >= 5){

$d = $n % 10;

echo $d.'<br>';

$n = $n / 10;

}

?>

 

php در else و ifدستورات شرطی

Conditionalدستورات شرطی ) StatmentهÉÉای برنامÉÉیکی از پرکاربردترین موارد در دنیای زبان ه ،)

به شÉÉمار می رونÉÉد، در یÉÉک تعریÉÉف سÉÉاده از دسÉÉتوراتphpنویسی و از جمله در برنامه نویسی وب و

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

بودن پاسخ ارزیابی شرط، مطابق با خواست و نیازمان، کÉÉاری را انجÉÉام می دهیم؛ در دنیÉÉای واقعی نÉÉیز

بارها شنیده ایم که مثال گفته اند اگر خوب تمرین کنید، موفق می شوید یا اگر فالنی بیایÉد، بÉه کوهنÉوردی خÉواهیم رفت و...، این

به سیستم و در واقع به مفسÉÉرelseif و ترکیب آنها یعنی else و if با phpنوع تعاریف در برنامه نویسی وب و به طور خاص در

php.تفهیم می شوند

php در ifدستور شرطی

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

است یا خیر، به صورت ساده می نویسیم:20 برابر age باشد، حال بخواهیم بررسی کنیم که آیا متغیر 20 و مقادیرش ageنام

باشد(، محاسبه بین }{ را انجام بده.true باشد )رابطه 20 برابر با age( متغیر ifاگر )

<?php

$age = 20;

if($age == 20){

echo " شما سن گرامی است 20کاربر سال !";

}

?>

( خواهد بود و دستور بین }{true درست )if تعریف شده، پس بررسی رابطه 20 برابر ageبر اساس مثال باال، مقدار متغیر

سال است، اما20( خواهد داشت، چرا که سن کاربر false مقادیر نادرست )ifاجرا خواهد شد، حال در مثال زیر بررسی رابطه

سال نبود، محاسبه را انجام بدهد.20در ارزیابی گفته ایم که اگر سن او

<?php

$age = 20;

if($age != 20){

echo " شما سن گرامی نیست 20کاربر سال !";

}

?>

( گفÉÉتیم، عالمت == یعÉÉنی دو طÉÉرف رابطÉÉه برابÉÉر باشÉÉد وphpهمانطور که در بحث پیشین )عملگرهای محاسبه و مقایسÉÉه در

عالمت =! یعنی دو طرف رابطه برابر نباشد.

php در elseدستور شرطی

( نشد آنوقت تکلیف چیست؟! یک برنامه نویس خوب بایدtrue درست )if آشنا شدیم، باید از خود بپرسیم اگر ifاکنون که با

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

میelse استفاده می کنیم، ابتدا به elseif یا else را هم تعریف کنیم، برای این کار از دستور شرطی ifنادرست شدن رابطه

پردازیم.

else در واقع جایگزینی برای if است، یعنی اگر رابطه if( درست نباشد false آنگاه مقادیر بین }{ در ،)باشد elseاجرا می

شود، به مثال زیر توجه کنید تا مسئله روشن شود.

<?php

$age = 20;

if($age != 20){

echo " شما سن گرامی نیست 20کاربر سال !";

}

else{

echo " بخش به گرامی، آمدید 20کاربر خوش ها ساله !!";

}

?>

اول،if تعریف شده است، آنگاه در دستور 20 برابر ageبه طور ساده، مثال باال اینطور تفسیر می شود: در خط اول متغیر

اجرا میif نباشد(، مقادیر بین }{ در بررسی 20 بررسی شده، اگر رابطه درست باشد )یعنی سن برابر 20 با ageبرابر نبودن

age صحیح نیست )چون رابطه می گویید اگر if سال باشد، پس رابطه 20 نمی رسد، اما اگر سن برابر elseشود و نوبت به

ساله نشان می دهد.20 است که پیام خوش آمد را برای کاربر else نباشد( و نوبت به اجرای دستور 20برابر

به مثالی دیگر توجه کنید.

<?php

$country = "Iran";

$state = "PersianGulf";

if($country == "Iran" && $state == "PersianGulf"){

echo " کشور از شما گرامی منطقه country$ کاربر ;"!هستید state$ و

}

else{

echo " نمائید وارد را خود منطقه و کشور نام لطفا گرامی ;"!کاربر

}

?>

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

php در elseifدستور شرطی

elseif ترکیب دیگری از if و else،ودÉÉی خÉÉه کدنویسÉÉه دادن بÉÉل از خاتمÉÉواهیم قبÉÉاید بخÉÉو در واقع بینابین آنها است، به فرض ش

قبÉÉل از آنif با نادرست شÉÉدن رابطÉÉه elseif استفاده می کنیم، elseifچندین ارزیابی دیگر را نیز انجام دهیم، اینجا است که از

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

اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت.

<?php

$num = 1000;

$max = 2000;

if ($num > $max){

echo "متغیر num از max است ;"!بزرگتر

}

elseif($num == $max){

echo "متغیر num با max است ;"!برابر

}

else{

echo "متغیر num از max است ;"!کوچکتر

}

?>

نادرست خواهند بود و به ناچارelseif و ifهمانطور که در کد باال مالحظه می کنید، بر اساس داده های تعریف شده، رابطه

اجرا شود.elseif اجرا می شود، در مثال زیر کد باال را تغییر داده ایم تا قسمت دوم یعنی elseبخش سوم یعنی

<?php

$num = 2000;

$max = 2000;

if ($num > $max){

echo "متغیر num از max است ;"!بزرگتر

}

elseif($num == $max){

echo "متغیر num با max است ;"!برابر

}

else{

echo "متغیر num از max است ;"!کوچکتر

}

?>

به ترتیب، درست بودن رابطÉÉه آنهÉÉا راphp می توانیم استفاده کنیم، اما مفسر else و if به هر تعداد که بخواهیم، بین elseifاز

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

اشناcss و html من تازه با نوشتن کدهای html ذخیره کنم یا php باید فایل نوشته شده را با پسوند phpایا من برای نوشتن

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

php

java

mysql

ajax

همه رو توی یه فایلhtml و css و phpبه نظر شما کدوم رو شروع کنم برام راحت تر و کاربردی تره عزیز راستی ایا میتونم

ذخیره و نتیجه کارم رو ببینم .htmlبنویسم و با فرمت

کÉÉه لینÉÉکcss< کÉÉه ماننÉÉد اسÉÉتایل head<>/head لینک ایجاد کنم در قسÉÉمت >html در phpیا اگه نمیشه من چطور باید از

  رو فراخوانی کنهphpمیدیم بتونه فایل

، قبل از هر چیز نیاز به یک سرور یا سرور مجازی دارید کÉÉه بحث آن در اینجÉÉا مقÉÉدور نیسÉÉت، امÉÉا بÉÉاphpبرای اجرای فایل های

ذخیره شوند و اگر با این زبان آشÉÉنا باشÉÉید، میphp باید با پسوند phpفرض نصب بودن سرور مجازی در سیستم شما، کدهای

،htmlدانید که در کنار دستورات آن می توان از سایر موارد مانند تگ های css و javascriptهÉر کÉاستفاده کرد. اما از این نظ

ترکیب نمائیÉÉد، سÉÉپسcss شروع کنید و پس از کسب تجربه نسبی آن را با htmlکدام یک را شروع کنید، توصیه ما این است از

،mysql و پایگÉÉاه داده phpآشنایی نسبی با جاوا اسکریپت، در گام بعدی یکی از زبان های سمت سرور و پایگاه داده آن، ماننÉÉد

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

(elseچگونه میشود دو شرط برسسی شود و اگر دو شرط هم تایید شد ادامه یابد )

بررسی کنید، برای این کارifمنظور سوالتان دقیقا مشخص نیست، اما به نظر می رسد می خواهید دو پارامتر را در یک شرط

TRUE هر دو برابر با b و aکافی است از عالئمی مانند && )یا ||( استفاده کنید، به طور مثال در کد زیر اگر متغیر فرضی

اجرا می شود:else یا elseif اجرا می شود، در غیر این صورت کد قسمت ifباشند، کد داخل }{ در دستور شرطی

<?php

$a = TRUE;

$b = FALSE;

if($a == TRUE && $b == TRUE){

echo 'a & b = true!';

}

elseif($a == TRUE){

echo 'a = true!';

}

elseif($b == TRUE){

echo 'b = true!';

}

else{

echo 'a & b = fase!';

}

?>

میخواهم شرط به این گونه باشد که اگر

$carac<0$ وnumber>=$ab271[1]

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

<?php

if($carac < 0 && $number >= $ab271[1]){

echo 'true!';

}

else{

echo 'false';

}

?>

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

داشته باشد درسته؟if نباید elseیعنی اخرین

<?php

$num = 2000;

if ($num > $max)

{

echo "1";

}

elseif($num == $max)

{

echo "2";

}

elseif($num == $max)

{

echo "3";

}

elseif($num == $max)

{

echo "4";

}

else

{

echo "5";

}

?>

 پاسخ:

سالم

کافی است به معنی آنها توجه کنیم:elseif و ifبرای درک نحوه به کار بردن صحیح

ifاگر =

elseifدر غیر این صورت اگر =

elseدر غیر این صورت =

با این حساب:

باشد(}max بزرگتر از numاگر )

1چاپ عدد

}

باشد(}max کوچکتر از numدر غیر این صورت اگر)

2چاپ عدد

}

در غیر این صورت}

مساوی استmax با num //3چاپ عدد

}

و همین تئوری در عمل:

if($num > $max){

echo 1;

}

elseif($num < $max){

echo 2;

}

else{

echo 3;

}

به تعداد بیشتر از یک اما با شرط یکسان استفاده کنید، یعنی این حالت اشتباه اسÉÉت:elseifدر ضمن نباید از دستورات شرطی

elseif($num == $max)

{

echo "2";

}

elseif($num == $max)

{

echo "3";

}

elseif($num == $max)

{

echo "4";

}

چون با اجرای اولین شرط نوبت به موارد بعدی نمی رسد و با عدم اجرای شرط، چÉÉون شÉÉرط هÉÉا بین همÉÉه دسÉÉتورات مشÉÉترک

متعÉدد زمÉانی کÉاربرد دارنÉد کÉه شÉرط آنهÉاelseif اجرا می شÉود، دسÉتورات elseهستند، هیچ کدام اجرا نمی شوند! و دستور

یکسان نباشد.

باشه؟if خودش if تو در تو استفاده کرد؟ یعنی شرط ifآیا میشه در دستورات

یه چیزی مثل این:

?>

if(if($age = '20'){$age == '20';}else{$age == '10';})}

echo $age;

{

<?

دارد! امÉÉÉÉÉا بÉÉÉÉÉه طÉÉÉÉور مثÉÉÉÉÉال بÉÉÉÉÉه روش زیÉÉÉÉÉر می شÉÉÉÉÉود:syntaxبÉÉÉÉÉه این صÉÉÉÉÉورت خÉÉÉÉیر! کÉÉÉÉد شÉÉÉÉÉما خطÉÉÉÉای

?>php

if(!empty($age))}

if($age == '20')}

$age = '20;'

{

else}

$age = '10;'

{

echo $age;

{

<?

اگر متغیرphpبا سالم من میخوام در

$qwe

شد.2برابر با

شد عکس دیگری قرار بگیرد. باید چیکار کنم؟ اصل سوالم این جاست1 که درست کردم یک عکس و اگر htmlدر صفحه

استفاده کردم رو بیارم؟ phpچطوری میتونم در شرطی که در

بود، نام تصویر را در یک متغیر دیگر1این کار را به چند روش می توان انجام داد، به طور مثال اگر متغیر مورد نظر مقادیر

مقدار دهی می کنیم:

<?php

$qwe = 1;

$image = NULL;

if($qwe == 1){

$image = 'your-image-1.jpg';

}

elseif($qwe == 2){

$image = 'your-image-2.jpg';

}

?>

<img src="img/<?php echo $image ?>" alt="img">

باشد تا کدها قابل اجرا باشند.PHPمسلم است که فرمت فایل شما باید

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

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

<form action="" method="post">

<input name="user_name" type="text" />

<?php

// فرم فیلد از مقادیر دریافت

@$name = $_POST['user_name'];

if ($name == 'amir'){

echo " آمدید خوش ;"امیر

}

else{

echo " نیست ;"هیچی

}

?>

<input type="submit" value="ارسال" />

</form>

php در case و switchکار با

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

syntaxاتÉÉا عملیÉÉود یÉÉروجی داده می شÉÉده، خÉÉیر شÉÉیا دستورالعمل می گویند( و کد نوشته شده توسط کاربران طبق آن تفس

خاصی صورت می گÉیرد، بÉه جÉرات می تÉوان گفت خیلی از زبÉان هÉÉای برنامÉه نویسÉی از بسÉیاری جهÉÉات مشÉابه هم هسÉتند و

تفاوتهای آنها بیشتر در جزئیات و شÉیوه نگÉارش دستوراتشÉان اسÉت، بÉا ذکÉر این مقدمÉه کوتÉاه می خÉواهیم بÉه ادامÉه آمÉوزش

بپردازیم، با این امید که اطالعات ارائه شده مخصوصا برای دوستانی که تÉÉازه شÉÉروع بÉÉهcase و switch با بحث phpمقدماتی

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

چیست؟php در switchکاربرد دستور

( مختلف با توجه بÉÉه مقÉÉادیریcase )به معنی تعویض کردن( پیداست، از آن برای انتخاب چند مورد )switchهمانطور که از نام

هم اسÉÉتفاده می کننÉÉد، ولی فلسÉÉفهelseif و if از case و switchکه مقایسه می شوند، استفاده می کنند، البته گاهی به جÉÉای

case و switchپیدایش این دو از هم جدا است و در کدنویسی های پیشرفته کارکردی متمایز دارند؛ اگر بخÉÉواهیم نحÉÉوه کÉÉاربرد

یÉÉا دسÉÉتورStatement را با یک مثال توضیح دهیم، می توان کتابخانه ای را فرض کرد که با توجه بÉÉه درخواسÉÉت شÉÉما )phpدر

( کرده و به شما تحویل می دهد.switch های( موجود، یک مورد را انتخاب )caseشما( از بین کتابهای )

php در switch دستور syntaxشیوه نگارش یا

بی شباهت به جاوا اسÉکریپت نیسÉت، ماننÉد جÉاوا اسÉکریپت یÉک مقÉدار بÉرایphp در switch دستور syntaxشیوه نگارش یا

های موجود یک مورد یا بعضا بیشتر انتخÉÉاب می شÉÉود، بÉÉه مثÉÉال زیÉÉر توجÉÉهcase اختصاص می یابد و از بین switchمقایسه به

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد. کنی

<?php

$statement = "Iran";

switch ($statement){

    case "Iran":

    echo " کاربر ;"statement$ :کشور

    break;

    case "Other":

    echo "user country: $statement";

    break;

}

?>

توضیح:

قرار گرفته است.Iran برابر statement- در مثال باال ابتدا متغیر فرضی

ها مقایسه می شود و هر کدام که مقدار آن برابرcase به عنوان یکی از statement مقادیر متغیر switch- سپس در دستور

بود، به خروجی داده می شود.

در موارد خود می شود، در واقع وقتیswitch، باعث پایان جستجوی case شدن هر true با break- قسمت مربوط به

switch مقادیری مشابه متغیر statement ،پیدا می کند case آن true شده و قسمت مربوط به breakبه جستجو خاتمه می

دهد.

Iran- طبق کد باال خروجی می شود: کشور کاربر:

switch در دستور default caseاستفاده از

همخوانی نداشته باشند، ممکن است درstatement های ما با مقادیر متغیر caseحال با توجه به مثال، فرض کنید هیچ کدام از

این صورت بخواهیم به کاربر پیامی نشان دهیم یا به او بگوییم که کشور خود را در فیلد مربوط وارد کند و یا هر چیزی که نیاز بÉÉه

default به نام switchیک مقدار پیش فرض دارد؛ برای این منظور از ظرفیت دیگری در caseتفادهÉÉرض اسÉÉورد پیش فÉÉا مÉÉی

می کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉنیم، بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر توجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه کنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد.

<?php

$statement = "unknown";

switch ($statement){

    case "Iran":

    echo " کاربر ;"statement$ :کشور

    break;

    case "Other":

    echo "user country: $statement";

    break;

    default:

    echo "please fill out your country field";

}

?>

توضیح:

ها چنین مقداری ندارند، پسcase است و هیچ کدام از unknown برابر statement- با توجه به مثال باال، چون مقدار متغیر

اجراء می شود.defaultقسمت مربوط به

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

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

کاربر یا نام او و یا هرآنچه که به عنوان یک متغیر می تواند تعریف شود، قابل تغییر باشد که اینIPمی توانند مثال با توجه به

بستگی به نیاز و هدف شما دارد )در آینده در این رابطه بیشتر خواهیم گفت(.

%5 شÉÉامل 20-11% تخفیف بÉÉرای 3 شامل 10-1 فاکتور فروش ایجاد کنم که مثال برای کاالیی با تعداد 1با سالم من می خوام

چطور میتونم این رو بنویسم. نمیدونم سوییچ برای مقادیر میانی چطور عمل می کنÉÉه. و آیÉÉا غÉÉیر ازSwitchتخفیف و ... بشه با

سوییچ هم راه دیگه ای هست؟

استفاده کنید، مثال:switchبه نظر باید از دستورات شرطی به جای

$count = 10;

$discount = 0;

if($count <= 10){

$discount = 3;

}

elseif($count <= 20){

$discount = 5;

}

جدید نوشتم و باtext رو در css ذخیره کردم . بعد html را با پسوند text رو نوشتم و htmlاول این که برای مثال من کد

رو با پسون خودش و...... البته این سوال ذهنی من هستphp و js ذخیره کردم و جاوا رو هم مثل بقیه با پسوند cssپسوند

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

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

به کار بگیرم. در این باره اگه راهنمایی کلی و به زبان ساده اموزش بدین خیلی ممنونtext , htmlجاوا یا پی اچ پی رو در

استفاده کرد یعنی انها را جدا گانه نوشت و با یکphp , js رو هم با این روند cssمیشم . یه سوال دیگه این هست که میشه

استفاده کرد . text , htmlلینک در

درک دقیق نحوه رابطه زبان های وب با هم نیاز به کمی تمرین و تکرار بیشتر و گذشت زمان دارد، اما جهت راهنمایی:

استفاده کنیدHTML را می توانید به صورت فایل خارجی یا به صورت کدهای درونی در صفحات CSS و JavaScript- کدهای

)اینها در سمت کاربر و مرورگر اجرا می شوند(.

آن را واردHTML ذخیره شوند و نمی توانید به صورت مستقیم در فایل php برای اجرا باید در یک فایل با پسوند PHP- کدهای

یک زبان سمتPHP استفاده کنید، باید توجه کنید که HTML می توانید در میان دستورات، از PHPکنید، اما برعکس در یک فایل

استHTMLسرور است، در سرور اجرا شده و صرفا خروجی به مرورگر ارسال می کند، این خروجی معموال به صورت کدهای

چاپ کرد.PHP قابل استفاده باشد را می توان با HTMLو لذا هرآنچه در

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

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

php در while و forحلقه

، تا حدود زیادی مسÉÉیرمان را بÉÉه سÉÉمت یÉÉادگیری این زبÉÉان پرکÉÉاربرد در برنامÉÉهphpدر مطالب قبلی از بخش آموزش مقدماتی

و نحÉÉوه کÉÉار بÉÉاelse و ifنویسی وب هموار کردیم، پس از آشنایی با متغیرها، عملگرهای محاسبه و مقایسه، دستورات شÉÉرطی

switch و case این بار نوبت به آموزش حلقه های ،for و while در phpایÉÉان هÉÉا در زبÉÉه هÉÉوال حلقÉÉه اصÉÉایی کÉÉت؛ از آنجÉÉاس

، کاربرد فراوان دارند، یادگیری و درک این بخش می تواند بÉÉه رونÉÉدphpبرنامه نویسی و به طور خاص در برنامه نویسی به زبان

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

( چیست؟Loopحلقه )

( برای گرفتن خروجی در یک دور تکرار، بÉÉاLoops )و شاید در اکثر زبان های برنامه نویسی(، از حلقه ها )phpدر برنامه نویسی

(، چنÉÉد فÉÉرق اساسÉÉی بÉÉا تÉÉابع )Loopمقادیر متفاوت استفاده می شود، البته این بحث بی شباهت بÉÉا توابÉÉع نیسÉÉت، ولی حلقÉÉه )

FunctionارÉÉر بÉÉدارد، از جمله اینکه در حلقه در هر دور، معموال یک خروجی به مرورگر ارسال می شود، در حالی که تابع در ه )

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

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

مثÉÉل اینphpبا توجه به الگوی خود انجام می دهند؛ به هر صورت از بحث تئوری که بگذریم، در یک مثال ساده کاربرد حلقÉÉه در

جمع کÉÉنیم )یعÉÉنی بÉÉرای هÉÉر بÉÉار یÉÉک کÉÉد بنویسÉÉیم و10 تا 1 بار یک عدد را به فرض با اعداد 10است که به فرض به جای اینکه

خروجی بدهیم(، در یک حلقه، ده دور عمل جمع را با مقادیر و خروجی متفاوت تکرار می کنیم، یا تا زمانی که حاصل جمع مÉÉا بÉÉه

نرسیده است، تکرار را در حلقه ادامه می دهیم.10

phpانواع حلقه در

را در چهÉÉار دسÉÉته خالصÉÉه کÉÉرد؛php وجود دارد که با به حساب آوردن همه آنها، می توان تعداد حلقÉÉه در phpچند نوع حلقه در

do و زیر مجموعه آن یعنی whileحلقه while هÉحلق ،for نیÉÉانواده آن یعÉوهم خ foreach هÉحلق ،whileاÉÉه را تÉک دور حلقÉÉی

do( باشد، تکرار می کند، زیر مجموعه آن یعÉÉنی true( درست )conditionزمانی که شرطی ) whileهÉÉبیه بÉÉاختاری شÉÉیز سÉÉن

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

، درون خود شرطی را بررسی می کند و تا زمانی که شرط درست باشد، تکرار را ادامه می دهد، هم خانواده آنwhileبرعکس

کفÉÉایت می کنÉÉد، امÉÉاfor نیز برای کار با آرایه ای از اطالعات و متغیرها کاربرد دارد، در حالت معمول استفاده از foreachیعنی

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

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

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

php در whileحلقه

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

(true باشد، مقادیر داخل }{ اجرا می شود، در مثال ساده زیر، یک حلقه را تا زمانی که تعداد کاربران به )نرسیده ادامه داده5

ایم و خروجی فرضی از آن گرفته ایم.

<?php

// متغیر برای فرض پیش مقادیر

$users = 5;

while حلقه//

while ($users > 0){

    echo " شماره ;"</ users <br$ کاربر

    $users--;

}

?>

خروجی کد باال به صورت زیر خواهد بود.

شماره 5کاربر

شماره 4کاربر

شماره 3کاربر

شماره 2کاربر

شماره 1کاربر

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉیح: توض

یÉÉک شÉÉرط بÉÉرای آن تعÉÉیین کÉÉنیم.while یک مقدار پیش فرض قرار می دهیم تا بعÉÉدا در حلقÉÉه users- ابتدا برای متغیر فرضی

بزرگتر از صفر باشÉÉد، کÉÉد داخÉÉلusers، بررسی می کنیم، تا زمانی که مقادیر متغیر while- سپس در قسمت مربوط به حلقه

}{ اجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرا شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

(، مقادیر را چاپ می کنÉÉد و در قسÉÉمت آخÉÉر، در هÉÉر دورloop نوشته ایم که در هر دور )echo- درون حلقه یک دستور خروجی

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

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد. می یاب

- دقت کنید، چون متغیر فرضی ما در این مثال یک عدد بود، می توانیم بر روی آن اعمال ریاضی مثل جمÉع، تفریÉق و... را انجÉام

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

کنیم.

php در whileمثالی دیگر از کاربرد حلقه

<?php

// متغیر برای فرض پیش مقادیر

$users = 5;

$admin = 1;

while حلقه//

while ($users > 0){

    // تو در تو حلقه

    while($admin > 0){

        echo " آمدید خوش سایت، ;"</ br>مدیر

        $admin--;

    }    

    echo " شماره آمدید users$ کاربر ;"</ br>خوش

    $users--;

}

?>

خروجی کد باال به صورت زیر خواهد بود.

آمدید خوش سایت، مدیر

شماره آمدید 5کاربر خوش

شماره آمدید 4کاربر خوش

شماره آمدید 3کاربر خوش

شماره آمدید 2کاربر خوش

شماره آمدید 1کاربر خوش

توضیح:

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

و حلقه مربوط به آنadmin- فرمول و ساختار حلقه با کمی تامل قابل درک است، تنها چیزی که اینجا اضافه کرده ایم، متغیر

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

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

php در do whileحلقه

، پیش می آید که بخواهیم یک حلقه را ابتدا یÉÉک بÉÉار خÉÉروجی دهیم )چÉÉه شÉÉرطیphpگاهی مواقع در دنیای برنامه نویسی وب با

بÉÉدین منظÉÉور از سÉÉاختارphpدرست باشد و چه نباشد(، سپس بررسی کنیم که آیا شرایط ادامه حلقه مهیا است یا خیر، مفسر

do while که بسیار شبیه while معمولی است بهره می گیرد، در do whileدور اول حلقه، بدون هیچ پیش شرطی اجراء می

بازگشÉÉت کÉÉنیم، مثÉÉال زیÉÉر روشÉÉن اسÉÉت.whileشÉÉود، امÉÉا دورهÉÉای بعÉÉد مثÉÉل این اسÉÉت کÉÉه بÉÉه روال عÉÉادی حلقÉÉه

<?php

// متغیر برای فرض پیش مقادیر

$users = 0;

do{

    echo " شماره آمدید users$ کاربر ;"</ br>خوش

    $users--;

}

while حلقه//

while ($users > 0);

?>

از صفر بزرگتر باشد و مقادیر این متغیرusers گفته ایم که تازمانی که متغیر whileمثال باال با وجود اینکه در قسمت شرط

هم صفر است، اما خروجی زیر به مرورگر ارسال می شود.

شماره آمدید 0کاربر خوش

php در forحلقه

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

)و در دیگÉÉرphpتعداد مشخصی دور تکرار، بدون وابستگی به شرایط بیرون حلقه داشته باشÉÉیم، در واقÉÉع سÉÉاختار حلقÉÉه هÉÉا در

،whileزبان های برنامه نویسی مشابه(، شباهت های زیادی به هم دارند، اما به منظورهÉÉای متفÉÉاوتی ایجÉÉاد شÉÉده انÉÉد، در حلقÉÉه

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

اتفاقÉÉÉات در درون پارامترهÉÉÉای خÉÉÉود حلقÉÉÉه شÉÉÉکل می گÉÉÉیرد، اجÉÉÉازه بدهیÉÉÉد موضÉÉÉوع را بÉÉÉا یÉÉÉک مثÉÉÉال روشÉÉÉن کÉÉÉنیم.

?>php

forحلقه//

for ($users=1; $users <= 3; $users++)}

    echo$ " شماره />";users <brکاربر

{

<?

مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال، خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر را تولیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرد.

شماره 1کاربر

شماره 2کاربر

شماره 3کاربر

توضیح:

(، ساختار اصلی خودexpression در سه عبارت )for کمی متفاوت است، حلقه while با for حلقه syntax- شیوه نگارش یا

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

عبارت آخر، تغییرات مقادیر متغیر در هر دور حلقه است.

بدین منظور استفاده می کنند.i در مثال باال، کامال فرضی و انتخابی است، معموال از عبارت users- عبارت

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

( باشد، دور تکرار آن تا بی نهایت ادامه می یابد و این سبب ایجاد یک باگ یا نقض بزرگ در برنامه شما وtrueهمیشه درست )

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

در مثال زیر، یک اشتباه عمدی کرده ایم و حلقه را تا بی نهایت ادامه داده ایم، با کمی دقت متوجه خواهید شد.

<?php

نهایت for حلقه// بی تا !تکرار

for ($i=0; $i >= 0; $i++){

    echo " شماره ;"</ i <br$ کاربر

}

?>

php در foreachحلقه

برای کار با مقادیر آرایه ها کاربرد دارد، در برنامه نویسی وب، برخیforeach با نام forنوع دیگری از حلقه های هم خانواده با

، یک فیلدhtmlویژگی ها، ناگزیر به صورت آریه ای از اطالعات قابل کنترل و پردازش هستند، به عنوان مثال، وقتی در فرم های

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

در هر دور حلقه، یک کلید و مقدار از آرایه را پردازشforeach انجام می شود، foreach با phpهم میسر گردد، این کار در

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

<?php

$array = array(1=>'Arash', 2=>'Soraya', 3=>'Maryam', 4=>'Sadegh');

foreach ($array as $user) {

    $user = "$user آموزش بخش php به ، آمدید ;"</ br> خوش

    echo $user;

}

?>

خروجی مثال باال به صورت زیر خواهد بود.

Arash آموزش بخش php به ، آمدید خوش

Soraya آموزش بخش php به ، آمدید خوش

Maryam آموزش بخش php به ، آمدید خوش

Sadegh آموزش بخش php به ، آمدید خوش

توضیح:

( پشتیبانی می کند، هم به صورت:syntax از دو شیوه نگارش )foreach- حلقه

$array as $user

و هم به صورت:

$array as $key => $user

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

برای هر کدام، یک بار اجرا خواهد شد )foreach  بعدی می رسد، در مثال باال، آرایه ما دارای چهار مقدار است، پس دور حلقه

for به معنی برای و each.)به معنی هر

است، لذا در اینجا به همین مقدار بسندهphp، نیازمند آشنایی با مبحث آرایه ها در foreach- درک صحیح نحوه عملکرد حلقه

می کنیم.

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

mysql_query("SELECT email FROM mytable WHERE status='1'")

اسÉÉت را انتخÉÉاب کنÉÉد و همÉÉه را نشÉÉان دهÉÉد بÉÉه این صÉÉورت:1 آنهÉÉا برابÉÉر statusکÉÉه تÉÉو دیتÉÉابیس ایمیÉÉل اونÉÉایی کÉÉه

[email protected], [email protected] ,...

از تابعwhileبخش اصلی پرس و جو را نوشته اید، کافی است در حلقه

mysql_fetch_array

کامل توضیح داده شده است، مثال:MySQLاستفاده کنید که آموزش آن در بخش

<?php

$query = mysql_query("SELECT email FROM mytable WHERE status='1'")

or die(mysql_error());

$count = mysql_num_rows($query);

$email = NULL;

$loop = 1;

while ($row = mysql_fetch_array($query)){

$email .= $row['email'];

if($loop < $count){

$email .= ', ';

}

$loop++;

}

echo $email;

?>

عدد می باشد!3من میخوام تعداد ایمیل های تکراری شمارش شود و خروجی بدهد تعداد ایمیل های تکراری

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

<?php

$query = mysql_query("SELECT email FROM mytable WHERE status='1'")

or die(mysql_error());

@$same_array = array();

$same_result = NULL;

$loop = 0;

while ($row = mysql_fetch_array($query)){

$same_array[$loop] = $row['email'];

$loop++;

}

$same_count = 0;

$loop = 1;

$same_array = array_count_values($same_array);

foreach($same_array as $key => $value){

if($value > 1){

$same_result .= $key;

$same_count + $value;

if($loop < count($same_array)){

$same_result .= ', ';

}

}

$loop++;

}

echo ' تکراری های ;'<same_result.'<br$.' :ایمیل

echo 'تعداد: '.$same_count;

?>

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

for (....) {

...

...

for (...){

....

if (...){

(*****)

}

....

....

}

...

}

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

به دو حالت زیر این کار ممکن است؛ نمونه کد:

<?php

for($i = 0; $i < 4; $i++){

for($r = 0; $r < 2; $r++){

if(1 == 1){

echo '1<br>';

break;

}

echo '2';

}

}

?>

شدن شرط، حلقه دوم قطع و به ابتدای حلقه اول می رسیم )تا زمانی که چرخه حلقه اول ادامه دارد،TRUEدر این حالت با

این روند تکرار می شود(.

<?php

for($i = 0; $i < 4; $i++){

for($r = 0; $r < 2; $r++){

if(1 == 1){

echo '1<br>';

$i = 4;

break;

}

echo '2';

}

}

?>

شدن شرط، حلقه اصلی را به پایان می بریم.TRUEبه این صورت با یک بار

من در این کد نیاز دارم که با برقرار شدن شرط از حلقه دوم خارج شوم به طوری که ادامه حلقه اول که بعد از حلقه دوم آمده

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

باشد.i=3 باشد بعد از برقراری شرط در حلقه دوم، اولین خطی که اجرا شود حلقه اول با i=2مثال اگر حلقه اول در وضعیت

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

اجرا یا نادیده بگیرید، مثال:

<?php

$status = TRUE;

for($i = 0; $i < 4; $i++){

for($r = 0; $r < 2; $r++){

if($i == $r){

echo '1';

$status = FALSE;

break;

}

else{

$status = TRUE;

}

echo '2';

}

if($status == TRUE){

echo '3';

}

echo '<br>';

}

?>

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

1

21

223

223

چاپ می شود،1 برقرار است، عدد i == r است، لذا r=0 است، در اولین دور حلقه دوم i=0مشخص است که در اولین دور

نÉÉیز چÉÉاپ نمی شÉÉود، در3 است، لذا عÉÉدد FALSE برابر status نمی رسد، چون 2 شده و نوبت به چاپ عدد breakحلقه دوم

چÉÉاپ می شÉÉود، حلقÉÉه دوم2 برقرار نیست، عدد i==r است، لذا r=0 است، در دور اول حلقه دوم، i=1دور دوم حلقه اصلی،

می شÉود، ماننÉدFALSE برابر status چاپ شده و چون 1 برقرار است، عدد i==r می شود، لذا r=1به ابتدای خود برگشته و

چاپ نمی شوند و این چرخه تا زمانی که دور حلقه اصلی دوام دارد، به همین منوال ادامه پیدا3 و 2اولین دور حلقه اصلی، عدد

می کند.

<?php

$user = fopen('user.html', 'a');

foreach($_POST as $name => $value){

fwrite($user, $name);

fwrite($user, ': ');

fwrite($user, $value);

fwrite($user, '<br />');

}

fwrite($user, '<hr />');

fclose($user);

echo '<span id=\'sent\'> گردید ارسال موفقیت با شما ;'<span/>پیغام

exit;

}

?>

من از این کد استفاده میکنم هیچ مشکلی نداره فقط در این قسمت

$user = fopen('user.html', 'a');

 fopenدرون پرانتز

'a اینجا حتما باید 'a نوشته بشه اگر چیز دیگه ای مثال sیا هرچیزی بنویسیم کد به درستی کار نمیکنه چرا میشه یکم توضیح بدید

ممنون میشم

fopen یک تابع درونی PHP،برای فراخوانی یک فایل است که رفتار آن با تنظیم پارامترهایی به عنوان آرگومان تعریف می شود

بÉÉهaاین پارامترها به صورت استاندارد و از پیش تعریف شده هستند لذا نمی توانید هر مقدار دلخÉÉواه را تنظیم کنیÉÉد، بÉÉه فÉÉرض

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

اطالعÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉات بیشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتر:

http://php.net/manual/en/function.fopen.php

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

به پایان برسه؟while ثانیه دور بعدی اجرا بشه و .... تا اینکه شرط حلقه 10

یک زبان سمت سرور است و معموال باید بالفاصله پس از اجرای کÉدها، خÉروجی راPHP توصیه نمی شود، PHPانجام این کار با

( برای موارد اینچنین است، بÉÉا این حÉال میAjaxبه مرورگر ارسال کند، روش توصیه شده استفاده از جاوا اسکریپت و آژاکس )

را خÉÉاموش کنیÉÉد(، مثÉÉال:output_buffering اسÉÉتفاده کنیÉÉد )در این صÉÉورت نیÉÉاز اسÉÉت کÉÉه PHP در sleepتوانیÉÉد از تÉÉابع

<?php

@ini_set("output_buffering", "Off");

@ini_set('implicit_flush', 1);

@ini_set('zlib.output_compression', 0);

@ini_set('max_execution_time',1200);

header( 'Content-type: text/html; charset=utf-8' );

echo "Testing time out in seconds\n";

for($i = 0; $i < 1150; $i++){

echo $i." -- ";

if(sleep(1)!=0){

echo "sleep failed script terminating";

break;

}

flush();

ob_flush();

}

?>

php( در Functionsتوابع )

بحث توابع در هر زبان برنامه نویسی، معموال جزء موارد الینفک آن زبان محسوب می شود، چرا کÉÉه برنامÉÉه نویسÉÉان همÉÉواره در

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

همین خاطر است که به جای نوشتن چندین و چندباره کدها، یک بار آنها را در قالب توابع تعریف کرده و بعÉÉد از آن، ورودی مÉÉورد

نظر خود را هنگام فراخوانی به تابع داده و خروجی دریافت می کنند، در واقع، توابع نقش دستگاه های تسهیل کننده را بÉرای یÉک

(.Functions با مبحث توابع )phpبرنامه نویس بازی می کنند، با این مقدمه کوتاه، می پردازیم به ادامه آموزش

( چیست و چه کاربردی دارد؟Functionتابع )

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

هستند که پس از دریافت مقادیری به عنوان ورودی، در خÉÉود، پÉÉردازش خاصÉÉی را انجÉÉام می دهنÉÉد، حاصÉÉل اینphpاز جمله در

کیÉÉک را ظÉرف یÉÉک روز100پردازش به عنوان خروجی در ادامه برنامه قابل استفاده است، به فرض تصور کنید بخواهیÉÉد تعÉÉداد

آماده کنید، مسلما انجام این کار به صورت دستی و تک به تک، انرژی و مدت زمان زیادی می طلبد، امÉا اگÉر یÉک الگÉوی تعریÉف

شده برای یک ماشین پخت کیک ایجاد کنید و مواد اولیه و تنظیمات مورد نیاز را به آن بدهید، در عرض چند دقیقه، به هÉÉدف خÉÉود

)و در دیگر زبان های مشابه( به جهتphpخواهید رسید، بحث توابع نیز بی شباهت به مثال عنوان شده نیست، در واقع توابع در

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

php( تابع در syntaxشیوه نگارش )

شباهت زیادی به دیگر زبان پرکاربرد وب، یعنی جاوا اسÉÉکریپت دارد، بÉÉه مثÉÉال زیÉÉر توجÉÉهphp( توابع در syntaxشیوه نگارش )

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد. کنی

<?php

// تابع تعریف

function test(){

    echo " در تابع یک ;"است php این

}

?>

توضیح:

تعریف می شوند.function با عبارت php- توابع در

- نام توابعی که تعریف می کنیم، معموال می تواند عباراتی دلخواه باشد، اما انتخاب نام به صورت عددی یا دارای کارکترهای

خاص، مجاز نیست.

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

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

<?php

// تابع تعریف

function test(){

    echo " در تابع یک ;"است php این

}

// تابع فراخوانی

test();

?>

( تابعargumentآرگومان )

اگر در مثال باال دقت کرده باشید، پس از تعریف نام تÉÉابع، یÉÉک )( قÉÉرار گرفتÉÉه اسÉÉت، این عالمت بÉÉرای دریÉÉافت یÉÉک آرگومÉÉان )

argumentرÉÉه پیش تÉÉان ورودی کÉÉزء همÉÉاست، شاید این واژه به ظاهر کمی غریب بیاید، اما آرگومان در اینجا چیزی نیست ج )

بحث آن را مطرح کردیم، با تعیین آرگومان، این امکان را به تابع می دهیم که پÉردازش مÉورد نظÉر را بÉر روی یÉک ورودی انجÉام

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

توجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه کنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد.

<?php

// تابع بیرون در متغیر تعریف

$name = 'احمد';

// تابع تعریف

function getuser($name){

    if ($name == 'admin'){

        echo " آمدید خوش ، سایت ;"مدیر

    }

    else{

        echo "$name ، آمدید ;"خوش

    }

}

// تابع فراخوانی

getuser($name);

?>

را بÉÉه عنÉÉوان آرگومÉÉان بررسÉÉی می کنÉÉد، خÉروجی زیÉÉر را چÉاپ خواهÉÉد کÉرد.nameمثال باال با توجÉه بÉÉه اینکÉه متغÉÉیر فرضÉÉی

آمدید خوش ، احمد

برابر کلمه احمد مقدار دهی شده است، سپس وقتی تÉÉابعnameدر واقع شرح تابع باال به اینصورت است که ابتدا متغیر فرضی

اسÉÉت یÉÉا خÉÉیر،admin به عنÉÉوان آرگومÉÉان برابÉÉر عبÉÉارت name بررسی می گردد که آیا متغیر ifفراخوانی می شود، با دستور

به خروجی فرستاده می شود.elseجواب خیر است، پس قسمت دوم یعنی

phpمثال دیگر از تابع در

در تابع زیر، به جای یک آرگومان و تعریف متغیر در بیرون آن، از دو آرگومان و مقÉادیر متغÉÉیر در هنگÉام فراخÉوانی تÉÉابع اسÉÉتفاده

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرده ایم. ک

<?php

// تابع تعریف

function checkpage($name,$page){

    if ($name == 'admin'){

        echo " صفحه به ، سایت آمدید page$ مدیر ;"خوش

    }

    else{

        echo "$name ، صفحه آمدید page$ به ;"خوش

    }

}

// آرگومان چند با تابع فراخوانی

checkpage("admin",33);

?>

خروجی تابع باال به صورت زیر خواهد بود.

صفحه به ، سایت آمدید 33مدیر خوش

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

phpتعریف توابع پیچیده در

اجازه بدهید آموزش را با تعریف چند تابع، این بار کمی پیچیده تر از توابع قبلی دنبال کنیم.

تابع محسابه معدل دانش آموزان:

<?php

// تابع تعریف

function avrage($marks){

    // معدل     محاسبه

    $marks = $marks / 20 . '&nbsp;';// دروس کل 20تعداد

    return $marks;

}

// نمرات آموز 3مجموع دانش

$st1 = 344;

$st2 = 312;

$st3 = 298;

// آموز دانش هر برای جداگانه صورت به تابع فراخوانی

echo avrage($st1);

echo avrage($st2);

echo avrage($st3);

?>

توضیح:

درreturn، خروجی تابع را برای استفاده در ادامه کد به اصطالح برمی گرداند، به عبارتی دیگر هنگامی که از return- عبارت

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

(return، سایر پردازش ها )یا سایر دستورات returnفرستاده می شود، توجه داشته باشید که در تابع، با اجرای یک دستور

نادیده گرفته می شوند.

خواهند بود.14.9 15.6 17.2- خروجی مثال باال اعداد

تابع محاسبه حاصل جمع و حاصل ضرب چند عدد:

<?php

// تابع تعریف

function calculator($numx,$numy,$numz){

    // جمع حاصل

    $total = $numx + $numy + $numz;

    // ضرب حاصل

    $multiple = $numx * $numy * $numz;

    // تابع نتیجه برگرداندن

    return (" برابر اعداد جمع برابر total$ حاصل آنها ضرب حاصل multiple$ و

;("است

}

// ها آرگومان همراه به تابع فراخوانی

echo calculator(20,31,68);

?>

است[ خواهد بود.42160 و حاصل ضرب آنها برابر 119خروجی تابع باال به صورت ]حاصل جمع اعداد برابر

:10تابع نمایش حاصل یک عدد به توان

<?php

// تابع تعریف

function exponent($num){

    // حلقه از for استفاده

    for ($i=0;$i<10;$i++){

        $exponent = $num;

        $num = $exponent * 2;

        echo $exponent . '&nbsp;';

    }

}

// آرگومان همراه به تابع فراخوانی

echo exponent(2);

?>

خواهد بود.1024 512 256 128 64 32 16 8 4 2خروجی تابع باال به صورت اعداد

phpتوابع درونی

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

( در اینbuilt in functions از این هم فراتر است، چرا که توابعی به صورت از پیش تعریف شده )phpاینجاست که قدرت

700 که بدون حتی یک خط کدنویسی، مقصود مورد نظر ما را انجام می دهند، شمار این توابع چیزی بالغ بر  زبان وجود دارند

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

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

http://www.php.net/manual/en/funcref.php

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

<?php

// تابع تعریف

function replace($str){

    // درونی str_replace تابع

    $str = str_replace(' مدیر',' ;(str$,'کاربر

    return $str;    

}

// آرگومان همراه به تابع فراخوانی

echo replace(" آمدید خوش سایت، کاربر ;("سالم

?>

است، این تابع وجود یک عبارت را در رشته ارسالی بررسی کرده وphp یکی از پرکاربردترین ها در str_replaceتابع درونی

( بود، آن عبارت را با جایگزین آن، تعویض می کند، بر این اساس خروجی مثال باال به صورتtrueاگر حاصل بررسی درست )

]سالم مدیر سایت، خوش آمدید[ خواهد بود.

:phpمثالی دیگر از به کار بردن توابع درونی در

<?php

// تابع تعریف

function lower($str){

    // درونی strtolower تابع

    $str = strtolower($str);

    return $str;    

}

// آرگومان همراه به تابع فراخوانی

echo lower("WELCOME TO PHP LEARNING");

?>

استفاده کرده ایم، این تابع حروف )انگلیسی( بزرگ را تبدیل بهstrtolower به نام phpدر مثال باال از یکی دیگر از توابع درونی

[ خواهد بود.welcome to php learningحروف کوچک می کند، بر این اساس خروجی مثال باال به صورت ]

، نیازی نیست حتما آنها را در یک تابع دیگر استفاده کنیم، به فرض مثال باال را به صورتphpدر موقع به کارگیری توابع درونی

زیر هم می توان نوشت که همان خروجی را خواهد داشت.

<?php

// آرگومان همراه به تابع فراخوانی

echo strtolower("WELCOME TO PHP LEARNING");

?>

هم هستن بشناسÉÉه ؟؟ مثالphp/"( رو که استاندارد a/"و "n/"و "r" نمیتونه پارامتر هایی مثل )"echoمیخواستم بدونم که چرا "

"n برای مراجعه به خط بعدی هستش و مثل "/enter عمل میکنه

بÉÉÉÉÉÉÉÉÉÉÉÉÉرای نظÉÉÉÉÉÉÉÉÉÉÉÉÉر قبلی من هسÉÉÉÉÉÉÉÉÉÉÉÉÉتش:phpببخشÉÉÉÉÉÉÉÉÉÉÉÉÉید این هم یÉÉÉÉÉÉÉÉÉÉÉÉÉه نمونÉÉÉÉÉÉÉÉÉÉÉÉÉه کÉÉÉÉÉÉÉÉÉÉÉÉÉد

<?php

$mehran = 'aps.net movjud mibashad va php movjud nist';

$pos = strpos ($mehran,'php');

if ($pos===false)

echo "kalameye /n pyda nashod";

else

echo "kalameye pedya shod $pos/n";

?>

این رو نشون میده :

kalameye pedya shod 27/r

/" کاربردی نداره ؟ یا من درست ننوشتم ؟nآیا "

باید از بک اسلش استفاده کنید، شما به اشتباه از اسلش استفاده کرده اید! به طور مثال:

?>php

echo "PHP:\n Easy And Powerful;"!

<?

تعریÉÉف کÉÉردم حÉÉاال اگÉÉه بخÉÉوام در یÉÉک صÉÉفحه دیگÉÉه بÉÉه اسÉÉمlist.php در یÉÉک صÉÉفحه بÉÉه اسÉÉم connectمن یک تابع به اسÉÉم

boop.phpآنرا فراخوانی کنم پیغام میده که میخواهید از تابع تعریف نشده استفاده کنید مشکل از کجاست

( دسترسی داشته باشد، باید ابتدا ازlist.php( به اطالعات فایلی که تابع در آن تعریف شده )boop.phpبرای اینکه فایل اصلی )

includeاستفاده کرده و فایل تابع را داخل فایل اصلی وارد کنید، سپس می توانید از توابع موجود در آن استفاده نمائید، به طور

دستورات زیر را بنویسید:boop.phpمثال در ابتدای فایل

include_once('function/list.php');

و این فولدر در کنار فایل اصلی است.functionدر این دستور فرض ما بر این است که فایل تابع در داخل فولدر

<?php

// تابع تعریف

function calculator($numx,$numy,$numz){

// جمع حاصل

$total = $numx + $numy + $numz;

// ضرب حاصل

$multiple = $numx * $numy * $numz;

// تابع نتیجه برگرداندن

return (" برابر اعداد جمع برابر total$ حاصل آنها ضرب حاصل ;("است multiple$ و

}

// ها آرگومان همراه به تابع فراخوانی

echo calculator(20,31,68);

?>

هم میشه استفاده کرد چرا؟!echo از returnاینجا بجای عبارت

یک دستور برای گÉرفتنecho در توابع چندان معمول نیست، در اینجا صرفا جهت آموزش آورده شده، در واقع echoاستفاده از

syntaxخروجی است که می تواند هر چیزی و هر جایی )در چارچوب PHP ابع ازÉÉتی در تÉÉباشد، وق )echo،نیمÉÉتفاده می کÉÉاس

روش استاندارد است و نتیجه تابع را به خارج از آن )محل فراخÉÉوانیreturnخروجی در محل قرار گیری تابع چاپ می شود، اما

یا سایر دستورات مورد نیاز استفاده کرد(.echoتابع( منتقل می کند )که در آنجا می توان از

مقلوب کند یا تابعی هسÉÉت کÉÉه4321 را به 1234 تابعی وجود دارد که عکس یک عدد یا رشته را برگرداند مثال: PHPببخشید در

حروف بزرگ را به کوچک تبدیل کند؟

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

<?php

function ReverseNum($num){

$num_array = str_split($num);

$reverse_array = array_reverse($num_array);

$output = implode('', $reverse_array);

return $output;

}

echo ReverseNum(1234);

?>

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

strtolower;()

در جاوا اسکریپت انجام میده پیاده کرد؟setInterval وجود داره که بشه باهاش کاری که تابع phpایا تابعی در

در سرور اجرا شده و به محض فراخÉÉوانی فایÉÉل، مفسÉÉر آن را پÉÉردازش و خÉÉروجی را ارسÉÉال می کنÉÉد، عمالPHPدر عمل خیر،

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

Corn یÉÉا امکانÉÉاتی نظÉÉیر Ajax در فواصل زمانی خاصی فراخوانی شÉÉود، بایÉÉد از PHPمتداول نیست، اگر نیاز است که یک فایل

Jobs در cPanel.استفاده کرد

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

بشه ایا راهی هست

استفاده کنید.Ajaxباید از

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

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

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

میشه توابع تو در تو رو همراه با مثال توضیح بدین ی

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

<?php

function Func_1($num){

$num += 10;

return $num;

}

function Func_2($num){

$num += Func_1($num);

return $num;

}

echo Func_2(2);

?>

میشه، می خوام مفهومش رو بدونم ممنون از10000سالم و خسته نباشید می خواستم بدونم چطور نتیجه این تابع بازگشتی

لطف بی نهایتتون

function power($base, $exp)

{

if($exp){

return $base*power($base,$exp-1);

}

return 1;

}

echo power(10,4);

باشÉÉد )بزرگÉÉتر از صÉÉفر باشÉÉد( خÉÉودش را بÉÉه صÉÉورت داینامیÉÉکTRUE برابÉÉر expاین تابع در یک دور تکرار تا زمانی کÉÉه متغÉÉیر

دوم در آخÉرین دور تÉابع اجÉرا میreturn دور نهایتا خروجی ارسال می کند )خروجی آن صفر اسÉت(، 4فراخوانی می کند و در

را نشان می دهد!4 به توان 10 به ابتدای چهار صفر اضافه و در نهایت عدد حاصل 1شود و

php( در برنامه نویسی Arrayآرایه )

است آشنا شدیم و گفÉÉتیمphp که یک نوع از حلقه ها در foreach با نحوه کار phpدر مبحث گذشته از بخش آموزش مقدماتی

( کاربرد دارد )به فرض مقÉÉادیری کÉÉه از فÉÉرم هÉÉای وب بÉÉا قÉÉابلیتArrayکه این نوع حلقه برای مدیریت مقادیر به صورت آرایه )

ارسال می شوند(، اما این بار و در ادامه آموزش های مقدماتی می خواهیم دانشÉÉمان را در برنامÉÉهmultipleانتخاب چندگانه یا

کمی بیشتر توسعه دهیم و مبحث آرایه ها را با هم بررسی کنیم، فراگÉیری درسÉÉت این مبحث می توانÉÉد درکphpنویسی وب با

بسیار ارتقاء دهد و در خیلی از پروژه های مبتنی بر وب، رهگشای ما باشد.phpما را از نحوه کار

( چیست؟Arrayآرایه )

آرایه در برنامه نویسی به متغیری گفته می شود که درون خود، می تواند چند متغیر مختلÉÉف و بÉÉا مقÉÉادیر متفÉÉاوت داشÉÉته باشÉÉد،

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

اطالعات سنی کارکنان یک شرکت را برای یک پژوهش آماری مورد بررسی قرار دهیم، به شیوه سنتی ناچاریم برای هر نفÉÉر یÉÉک

متغیر بنویسیم و یک مقدار متفاوت نسبت دهیم و در هنگام فراخوانی، مجددا این روند را تکرار کنیم، اما با آرایÉÉه این کÉÉار بسÉÉیار

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

به دنبال موارد مورد نظر خود باشیم و نتایج را از بین متغیرهای مختلف استخراج کنیم، از این گذشÉته بÉه طÉور مثÉال گÉاهی نیÉاز

باکس، چند مقÉÉدار متفÉÉاوت را همزمÉÉان انتخÉÉاب کننÉÉد )شÉÉایدselectداریم که کاربران سایتمان از بین یک فیلد انتخاب شونده یا

php بÉÉه برنامÉÉه html این کار انجام می شود(، اگر این مقادیر از فرم Ctrlنمونه آن را در وب دیده باشید که با نگه داشتن کلید

ارسال شوند، تنها از طریق آرایه است که می توانیم آنها را تجزیه کرده و مدیریت کنیم.

phpشیوه های مختلف تعریف آرایه در

همانند دیگر زبان های مرتبط با وب مانند جاوا اسکریپت، می توان به چند صورت تعریف کرد و در کل سهphpآرایه را در

شیوه برای این کار وجود دارد:

(.Numeric- تعریف آرایه ها به صورت کلیدهای عددی و مقدار )

)با استفاده از عالمت ][( و مقدار، تنظیم می شوند، به طور در این شیوه هر یک از متغیرهای درونی آرایه با یک کلید عددی

مثال:

<?php

$page[0] = "Home";

$page[1] = "Learn";

$page[2] = "Buy";

$page[3] = "About";

?>

حÉال می تÉوانیم بÉا دسÉتور زیÉر از آرایÉه بÉاال خÉروجی بگÉیریم، کÉافی اسÉت متغیرهÉا را بÉا کلیÉدهای خÉاص آن فراخÉوانی کÉنیم:

<?php

echo $page[2];

?>

خروجی کد باال به صورت زیر خواهد بود:

Buy

مشخص شده2، مقادیر کلید سوم )که با عدد pageهمان طور که مالحظه می کنید، ما از بین متغیرهای مختلف آرایه فرضی

" است.Buyاست( را به خروجی ارسال کرده ایم که در مثال باال، برابر عبارت "

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

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

بوده اند!

(.Associative- تعریف آرایه ها به شیوه خطی و مجموعه ای یا شرکت پذیر )

در این روش برعکس مورد قبل، از شیوه نگارش عالمت ][ استفاده نمی کنیم، بلکه کلیدها و مقادیر آنها را به صورت یک

تعریف می کنیم، به طور مثال:arrayمجموعه و با کمک دستور

<?php

$page = array(0 => "Home", 1 => "Learn", 2 => "Buy", 3 => "About");

?>

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

مقداردهی ما فرق کرده است.

<?php

echo $page[0];

?>

خروجی کد باال به صورت زیر خواهد بود:

Home

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

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

<?php

$page = array("Home", "Learn", "Buy", "About");

?>

(.Multidimensional- تعریف آرایه به شیوه تو در تو و چندبعدی )

، تعریف آن به شیوه آرایه در آرایه است، یعنی درون یک آرایه، خود چند آرایه دیگر قرار داردphpنوع دیگری از تعریف آرایه در

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

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

?>php

$result = array)

"pages" => array("home","learn","buy"),

"users" => array("maryam","sina","mohammad")

;(

<?

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

آرایه را مشخص کنیم، سپس آرایه زیرمجموعه و در نهایت کلید مورد نظÉÉر در آن آرایÉÉه را، تÉÉا مقÉÉدار بÉÉه خÉÉروجی ارسÉÉال شÉÉود:

<?php

echo $result['pages'][1];

?>

، کلیدpages که عنوان آرایه اصلی ماست و آرایه زیر مجموعه آن با نام resultبه این صورت دستور باال در بین متغیر فرضی

دریافت می شود( را به خروجی می دهد، یعنی خروجی برابر خواهد بود با:1دوم )که با عدد

learn

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

بسپاریم.phpتعریف کنیم، کافی است مقادیر را به هر آرایه نسبت دهیم و بقیه کار را به مفسر

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

<?php

$result = array(

"pages" => array(0 => "home", 1 => "learn", 2 => "buy"),

"users" => array(0 => "maryam", 1 => "sina", 2 => "mohammad")

);

?>

مالحظه می کنید که بحث آرایه ها در واقع بحث متغیر، کلید و مقدار است، یعنی با درک این سه موضوع تا حدود زیادی می توان

با نحوه کار آن آشنا شد.

foreachاستفاده از آرایه ها در حلقه

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

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

زیر را در نظر بگیرید.htmlکرده و آیتم به آیتم مورد پردازش قرار دهیم، به طور مثال فرم

<form action="#" method="post">

<select name="country[]" multiple="multiple">

<option value="Asia">Iran</option>

<option value="Europe">Germany</option>

<option value="Asia">Japan</option>

</select>

<input type="submit" value="ارسال" />

</form>

این یک فرم معمولی نیست! در این فرم فیلد انتخاب شونده ما قابلیتی منحصر به فرد دارد، این قابلیت این است که کاربر می

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

اضافه شده اند، این کار برای ایجاد یک آرایه از اطالعات ارسالیhtml به حالت عادی فرم های multipleعالمت ][ و عبارت

است، اما در سمت سرور این آرایه را با چه چیز مدیریت کنیم؟

؛ به مثال زیر توجه کنید:foreachپاسخ روشن است، با حلقه

<?php

$country = $_POST['country'];

foreach ($country as $land){

    echo $land . '<br />';

}

?>

به این صورت اگر کاربر تمام موارد را انتخاب کند، خروجی به شکل زیر خواهد بود:

Asia

Europe

Asia

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

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

<?php

$country = $_POST['country'];

$count = count($country);

for($i=0;$i < $count;$i++){

    echo $country[$i] . '<br />';

}

?>

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

iتوجه کنید که در اینجا، کلید آرایه به صورت داینامیک و در هر دور حلقه ایجاد می شود، در واقع مقادیر کلید، همان مقادیر متغیر

محاسبه شده اند،count از تعداد آرایه ها که با تابع iاست که در هر دور حلقه افزایش می یابد و حلقه نیز تا جایی که مقادیر

کوچکتر باشد، ادامه می یابد.

گذاشتم ولی ارور میدهfor نوشتم و می خوام این فرم چند بار تکرار بشه به خاطر همین اون رو تو phpمن یه فرم تو صفحه

میشه راهنمایی کنید ممنون

for($i=0;$i<=2;$i++){

<form action="register1.php" method="post">

<label for="tel1"> تلفن <label/>:شماره

<input name="mobile" id="mobile" type="int" maxlength="255" />

<input type="submit" value=" کردن </ "وارد

</form>

}

اسÉÉÉتفاده کنیÉÉÉد، مثÉÉÉال:echo اسÉÉÉتفاده کنیÉÉÉد، از PHP را بÉÉÉه صÉÉÉورت مسÉÉÉتقیم در دسÉÉÉتورات HTMLنمی توانیÉÉÉد کÉÉÉدهای

<?php

for($i=0;$i<=2;$i++){

echo '<form>

<label for="tel1"> تلفن <label/>:شماره

<input name="mobile" id="mobile" type="int" maxlength="255" />

<input type="submit" value=" کردن </ "وارد

</form>';

}

?>

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

 پنجره ی مرورگر

<?php

@$name = $_POST['name'];

if ($name) {

echo "$name آمدید ;"خوش

}

else {

echo " آمدید خوش ;"مهمان

}

?>

echo "$name آمدید ;"خوش

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

مخلوط کرد ممنون میشم جوابم رو بدید

PHP یک زبان HTML embedded است، یعنی می توانید دستورات آن را با سایر تگ های HTML:در یک فایل داشته باشید، لذا

<?php

@$name = $_POST['name'];

$message = NULL;

if ($name) {

$message = "$name آمدید ;"خوش

}

else {

$message = " آمدید خوش ;"مهمان

}

?>

<script type="text/javascript">

alert(<?php echo $message?>);

</script>

يه مقدار توضيح بدين، اگر امكانش هست همراه با مثال ممنونphp تو eachسالم خسته نباشيد ميشه راجع به تابع

است، کارکرد آن به این نحو است که کلید و مقدار یک آرایه را )شروع از ابتدا وPHP یکی از توابع کار با آرایه ها در eachتابع

اولین کلید( استخراج کرده و نتیجه را به صورت یک آرایه با چهار کلید، خروجی می دهد، دو کلید اول این آرایه خروجی، با مقدار

و دو کلید دیگر با کلید آرایه اصلی پر می شوند، مثال:

<?php

$main_array = array('Hello', 'World!');

$each_array = each($main_array);

print_r($each_array);

?>

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی:

Array

(

[1] => Hello

[value] => Hello

[0] => 0

[key] => 0

)

و برای پیمودن یک آرایه و استخراج کلید و مقدار استفاده می شود )در کل تابع پر کÉÉاربردی نیسÉÉت(،listاین تابع معموال در کنار

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: مث

<?php

$main_array = array('Hello', 'World!');

while(list($key, $value) = each($main_array)){

echo $key .' - '. $value .'<br>';

}

?>

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی:

0 - Hello<br>1 - World!<br>

چÉه مبÉاحثي هسÉتند كÉه بنÉده اونÉا روphpسالم دوست عزيز بنده يه سوال ديگه هم دارم مهمترين و كاربردي ترين مبÉاحث تÉو

بيشتر بخونم آيا راجع به امنيت وب كتاب جامع و خوبي سراغ دارين اگر امكان داره ميشه معÉÉرفي كنيÉÉد بÉÉا تشÉÉكر موفÉÉق باشÉÉيد

انشالله

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

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

را می تÉÉوان بحث کÉÉار بÉÉا آرایÉÉه هÉÉا وPHPبرای حرفه ای بودن، تسلط بر بیشتر آنها الزم است، به هر صورت مباحث مهم تر در

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

شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉی گÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرائی نÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉام بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرد.

در مورد معرفی کتاب، متاسفانه منبع کاملی در این زمینه مد نظر نداریم، باید )در وب یا در بازار( جستجو کنید.

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉابع  ت

error_log()

را با مثال توضيح بدين

ها یا ارسال آن از طریق ایمیÉÉلerror مربوط به log برای مدیریت خطاها به طور مثال برای ذخیره در یک فایل error_logتابع

است، معموال این تابع دو یا سه آرگومان دارد که برای تنظیمات مختلف به کار می رود، به فرض اگر بخواهیم خطÉÉای رخ داده در

فایÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉل ذخÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉیره شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود:

if($error == TRUE){

error_log("Error-Code:222!", 0);

}

یا اگر بخواهیم خطا را به ایمیل ارسال کنیم:

error_log("Error!", 1, "[email protected]");

اطالعÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉات بیشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتر:

http://php.net/manual/en/function.error-log.php

چيه phpكاربرد @ تو

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

)معموال در حالت آگاهانه از آن استفاده می شود، بÉه فÉرض بÉرای متغÉیری کÉه بعÉد از ارسÉال فÉرم مقÉداردهی می شÉود، جهت

(.Notice: Undefined Variableجلوگیری از پیام

- بخش اولphpتوابع کار با آرایه در

مبحث آرایه ها که در آموزش پیشین با آن آشنا شدیم، یکی از پرکاربردترین و در عین حال پیچیده تÉÉرین مبÉÉاحث در بیشÉÉتر زبÉÉان

بÉه حÉدی اسÉت کÉه کم تÉر برنامÉهphp( در Array اسÉت، گسÉتره اسÉتفاده از آرایÉه )phpهای برنامه نویسی و به طور خÉاص

کاربردی را می توان یافت که در قسمتی از کدهای خود متکی بر آن نباشد، قابلیت تفکیک پذیری، تجزیه و تÉÉرکیب، تغیÉÉیر چینش،

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

برای مدیریت آرایه ها توابع از پیش تعریÉف شÉده زیÉادی در نظÉر گرفتÉه شÉدهphpنظر برسد، به این خاطر است که در مفسر

است که هر کدام هدف و دستورالعمل خاصی دارند، از این رو اگر می خواهیم کار با آرایه ها را بیاموزیم، ناگزیر باید این توابÉÉع و

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

قالب چند مطلب آتی، در حد امکان به موارد عمومی می پÉردازیم و توابÉع خÉاص و پیچیÉده تÉر را نÉیز در مبÉاحثی جداگانÉه مÉورد

بررسی قرار خواهیم داد.

is_arrayتابع

یک متغیر را به عنوان آرگومان دریافت کرده و بررسی میis_array نام دارد، is_arrayنخستین تابعی که به آن می پردازیم،

یا صفر برگرداندهfalse برگردانده می شود( یا خیر )مقدار 1 یا trueکند تا ببیند که آیا متغیر مورد نظر یک آرایه است )مقدار

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

<?php

$array = array('welcome', 'to', 'php', 'array', 'learning');

$check = is_array($array);

if($check == true){

    echo 'true';

}

else{

    echo 'false';

}

?>

برابر عددis_array یک آرایه است و نتیجه بررسی تابع array، چرا که متغیر فرضی trueخروجی مثال باال برابر خواهد بود با

است خواهد بود.php در true که معادل 1

می توانید محتویات درون یک آرایه را به صورت قابل خواندن مشاهده کنید، به طور مثالprint_rنکته: با استفاده از دستور

برای آرایه باال، به صورت زیر می توانیم این کار را انجام دهیم.

<?php

$array = array('welcome', 'to', 'php', 'array', 'learning');

print_r($array);

?>

که خروجی برابر خواهد بود با مقادیر زیر.

Array

(

    [0] => welcome

    [1] => to

    [2] => php

    [3] => array

    [4] => learning

)

explodeتابع

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

ساده است، یک مقدار به عنوان جدا ساز )کلید تجزیه( و یک متغیر )رشته متنی( به عنوان آرگومان دریافت کرده و در نهایت یک

آرایه به ما تحویل می دهد، به طور مثال اگر متنی که می خواهیم آن را تجزیه و تبدیل به آرایه کنیم، به صورت زیر باشد:

welcome to php array learning

کلید تجزیه در اینجا فواصل خالی بین کلمات است، لذا خواهیم نوشت:

<?php

$string = 'welcome to php array learning';

$convert = explode(' ', $string);

print_r($convert);

?>

خروجی بگیریم، خواهیم دید که این متغیر تبدیل به یک آرایه شده است.print_r با استفاده از convertاگر اکنون از متغیر

Array

(

    [0] => welcome

    [1] => to

    [2] => php

    [3] => array

    [4] => learning

)

یک عدد نیز به عنوان آرگومان سÉÉوم می پÉÉذیرد، این عÉÉدد تعÉÉداد کلیÉÉدهای تجزیÉÉه ای کÉÉه در تبÉÉدیل بÉÉه آرایÉÉهexplodeنکته: تابع

آرایه تجزیه شود، دستور را بÉه شÉکل زیÉر تغیÉیر3استفاده می شوند را مشخص می کند، به طور مثال اگر بخواهیم رشته ما در

می دهیم:

<?php

$string = 'welcome to php array learning';

$convert = explode(' ', $string, 3);

print_r($convert);

?>

و خروجی برابر خواهد بود با مقادیر زیر.

Array

(

    [0] => welcome

    [1] => to

    [2] => php array learning

)

تنها در مورد آرایه ها کاربرد دارد.print_rنکته: دستور

implodeتابع

مقÉادیرimplode اسÉت، explode وجÉود دارد کÉه دقیقÉا کÉار آن بÉرعکس implode تابع دیگری بÉه نÉام explodeدر کنار تابع

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

<?php

$array = array('welcome', 'to', 'php', 'array', 'learning');

$convert = implode(' ', $array);

echo $convert;

?>

مالحظه می کنید که در اینجا ما از یک فضای خالی به عنوان کلید ترکیب استفاده کرده ایم، نتیجه مثال باال به صورت زیÉر خواهÉÉد

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود. ب

welcome to php array learning

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

array_change_key_case  تابع

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

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

مقادیر به زبان انگلیسی کاربرد دارد.

است که قصد بررسی آن را داریم )  دو آرگومان می پذیرد، آرگومان اول همان آرایه ایarray_change_key_caseتابع

input آرگومان دوم می تواند دو مقدار ،)CASE_UPPERتبدیل به حروف بزرگ( یا(   CASE_LOWER،تبدیل به حروف کوچک(

(، به عنوان مثال آرایه زیر را در نظر بگیرید.caseحالت پیش فرض( باشد )

<?php

$array = array('ali' => 3, 'pedram' => 6, 'maryam' => 5);

$change = array_change_key_case($array, CASE_UPPER);

print_r($change);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [ALI] => 3

    [PEDRAM] => 6

    [MARYAM] => 5

)

array_chunkتابع

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

(، آرگومان دوم تعداد کلید و مقدار برای آرایه های زیرinputپذیرد، آرگومان اول همان آرایه ای است که روی آن کار می کنیم )

( در آرایه های زیر مجموعهfalse یا true( و آرگومان سوم نحوه افزایش شماره کلیدها را )به صورت sizeمجموعه است )

گفته می شود، به مثال زیر توجه کنید.preserve_keys است(که به آن falseنشان می دهد )حالت پیش فرض

<?php

$array = array('a', 'b', 'c', 'd' , 'e');

$chunk = array_chunk($array, 2, false);

print_r($chunk);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [0] => Array

        (

            [0] => a

            [1] => b

        )

    [1] => Array

        (

            [0] => c

            [1] => d

        )

    [2] => Array

        (

            [0] => e

        )

)

مالحظه می کنید که آرایه های زیرمجموعه با دو کلید و مقدار تفکیک شده اند، البته چون تعداد کلید های ما پنج عدد بود، آرایه

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

باشد، خروجی مثال ما به صورت زیر خواهد بود.true برابر preserve_keysاگر مقادیر

Array

(

    [0] => Array

        (

            [0] => a

            [1] => b

        )

    [1] => Array

        (

            [2] => c

            [3] => d

        )

    [2] => Array

        (

            [4] => e

        )

)

array_combineتابع

برای ترکیب دو آرایه و ایجاد یک آرایه جدید کاربرد دارد، عملکرد این تابع به این شکل است که مقادیرarray_combineتابع

آرایه اول را )آرگومان اول( به عنوان کلید و مقادیر آرایه دوم )آرگومان دوم( را به عنوان مقدار آرایه نهایی در نظر می گیرد،

( دو آرایه را به یک آرایه تبدیل می کند، به مثال زیر توجه کنید.valueیعنی تنها با استفاده از مقادیر )

<?php

$array1 = array('a', 'b', 'c', 'd' , 'e');

$array2 = array('55', '23', '43', '12' , '98');

$combine = array_combine($array1, $array2);

print_r($combine);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [a] => 55

    [b] => 23

    [c] => 43

    [d] => 12

    [e] => 98

)

یادآوری: دقت کنید که کلید ها در آرایه های باال در واقع به صورت عددی و پنهان هستند، یعنی به فرض آرایه اول در واقع به

شکل زیر است.

$array1 = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd' , 4 => 'e');

array_count_valuesتابع

( از یک آرایه را محاسبه کرده و با استفاده از آن مقدار، یکvalue تعداد فراوانی تکرار هر مقدار )array_count_valuesتابع

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

به عنوان مقادیر آرایه جدید به کار می روند، به مثال زیر توجه کنید.

<?php

$array = array('a', 'b', 'a', 'd' , 'b');

$count_value = array_count_values($array);

print_r($count_value);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [a] => 2

    [b] => 2

    [d] => 1

)

array_diff_assocتابع

برای مقایسه یک آرایه با یک یا چند آرایه دیگر کاربرد دارد، نتیجه و خروجی این تابع، یÉÉک آرایÉÉه جدیÉÉد بÉÉاarray_diff_assocتابع

مقادیری است که در آرایه اصلی وجود داشته، ولی در آرایه یا آرایه های مقایسه شده وجود نداشÉÉته اسÉÉت، بÉÉه مثÉÉال زیÉÉر توجÉÉه

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد. کنی

<?php

$array1 = array('Tehran', 'Fars', 'Markazi', 'Gilan' , 'Esfahan');

$array2 = array('Tehran', 'Qazvin', 'Markazi', 'Gilan' , 'Khouzestan');

$array_diff = array_diff_assoc($array1, $array2);

print_r($array_diff);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [1] => Fars

    [4] => Esfahan

)

درTehranنکته: ترتیب کلیدها و مقادیر بین آرایه هایی که مقایسه می شوند در این تابع اهمیت دارد، یعنی به فرض اگÉÉر مقÉÉدار

آرایÉÉه اول بÉÉا کلیÉÉد صÉÉفر مشÉÉخص شÉÉود، در آرایÉÉه دوم هم بایÉÉد در کلیÉÉد صÉÉفر وجÉÉود داشÉÉته باشÉÉد، در غÉÉیر این صÉÉورت تÉÉابع

array_diff_assoc.آن را نیز به عنوان یک تفاوت بین آرایه ها به خروجی ارسال می کند

array_diff_keyتابع

عمل می کند، با این تفاوت که در اینجا به جای مقادیر، اگر کلید هÉÉا بین دوarray_diff_assoc مشابه تابع array_diff_keyتابع

یا چند آرایه مقایسه شده متفاوت باشند، مقÉÉادیر متفÉÉاوت آرایÉÉه اول بÉÉه خÉÉروجی ارسÉÉال می شÉÉوند، بÉÉه مثÉÉال زیÉÉر توجÉÉه کنیÉÉد.

<?php

$array1 = array('Tehran' => 12, 'Fars' => 45, 'Markazi' => 33, 'Gilan' => 47 ,

'Esfahan' => 51);

$array2 = array('Tehran' => 16, 'Qazvin' => 32, 'Markazi' => 39, 'Gilan' =>

48, 'Khouzestan' => 51);

$array_diff = array_diff_key($array1, $array2);

print_r($array_diff);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [Fars] => 45

    [Esfahan] => 51

)

مالحظه می کنید با اینکه مقادیر در آرایه ها با هم متفاوت هستند، اما تنها مواردی به خروجی ارسÉÉال شÉÉده انÉÉد کÉÉه کلیدهایشÉÉان

متفاوت بوده.

array_diff_uassocتابع

نیز با هدف مقایسه دو یا چند آرایه و به دست آوردن خروجی از مقادیر متفاوت آنها به صورت یکarray_diff_uassocتابع

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

را1-، صفر یا 1شود، به عنوان آرگومان سوم استفاده می کند، این تابع )تابع کاربر( باید طوری نوشته شود که یکی از اعداد

برگرداند، به مثال زیر توجه کنید.

<?php

function value_compare($a, $b){

    if ($a === $b){

        return 0;

    }

    return ($a > $b)? 1:-1;

}

$array1 = array("lang" => "fa", "page" => "index", "date" => "2012", "10",

"03", "10:40");

$array2 = array("lang" => "fa", "page" => "index", "date" => "2013", "16",

"03");

$result = array_diff_uassoc($array1, $array2, "value_compare");

print_r($result);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [date] => 2012

    [0] => 10

    [2] => 10:40

)

مالحظه می کنید که آرایه خروجی ما، از عناصری که در آرایه اول وجود دارد ولی در آرایه دوم وجود ندارد تشکیل شده است،

کلید ها نیز از آرایه اول استخراج شده اند.

، برای هر کلید و مقدار آرایه ها مقایسه ایvalue_compare: در تابعی که توسط کاربر تعریف می شود )در اینجا تابع 1نکته

صورت می گیرد، اگر دو مقدار مساوی باشند، عدد صفر برگردانده می شود و این یعنی آن مورد نباید در خروجی باشد، در غیر

- برگردانده می شود و مقادیر مربوطه به خروجی ارسال می شود.1 یا 1این صورت عدد

استفاده شدهphp( در else و if از شیوه مختصر نویسی دستورات شرطی )value_compare: در قسمت دوم تابع 2نکته

را دارد.else و عالمت : نقش ifاست، در اینجا عالمت ? بعد از پرانتز مقایسه، نقش

array_diff_ukeyتابع

دارد، با این تفاوت که در اینجا به جای مقادیر، از کلیدها برایarray_diff_uassoc نیز کارکردی مشابه array_diff_ukeyتابع

بررسی دو یا چند آرایه استفاده می شود، در اینجا نیز از یک تابع جانبی که توسط کاربر تعریف می شود استفاده شده و خروجی

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

<?php

function key_compare($a, $b){

    if ($a === $b){

        return 0;

    }

    return ($a > $b)? 1:-1;

}

$array1 = array("lang" => "fa", "page" => "index", "date" => "2012", "10",

"03", "10:40");

$array2 = array("lang" => "fa", "page" => "index", "date" => "2013", "16",

"03");

$result = array_diff_ukey($array1, $array2, "key_compare");

print_r($result);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [2] => 10:40

)

اسÉÉت و چÉنین کلیÉÉدی در آرایÉÉه دوم وجÉود2 دارای کلیÉÉد 10:40اتفاقی که در کد باال می افتد این است که چون مقÉدار فرضÉÉی

خÉÉروجی بگیریÉÉد، بÉÉهprint_rندارد، به عنوان خروجی برگردانده می شود، در واقع اگر از آرایه ها به صورت مسÉÉتقل بÉÉا دسÉÉتور

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

array_diffتابع

نیز از خانواده توابع مقایسه ای در مورد آرایه ها است، این تابع مواردی را به عنوان خروجی انتخاب می کند کهarray_diffتابع

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

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

<?php

$array1 = array(0 => "a", 1 => "b", 2 => "c", 3 => "b");

$array2 = array(0 => "a", 1 => "b", 2 => "f");

$result = array_diff($array1, $array2);

print_r($result);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [2] => c

)

بررسی1 در کلید bنکته: همان طور که مالحظه می کنید، این تابع مقادیر تکراری را مجددا بررسی نمی کند، لذا چون مقدار

از آرایه اول با1 در کلید b از آرایه اول مجددا بررسی نمی شود، اما اگر مقادیر 3شده و تفاوتی وجود نداشته است، در کلید

آرایه اول به خروجی ارسال می شد.3 و هم کلید 1 از آرایه دوم متفاوت بود، هم کلید 1مقادیر کلید

بی شباهت به زبان های سیستم عامل نیسÉÉت، منتهÉÉا طÉÉول حیÉÉاتstatic یا حوزه scope نیز هدف از تعریف متغیر با PHP- در

مادامی است که کدها توسط مفسر پردازش می شوند و هنوز نتیجه به مرورگر ارسال نشده است، بÉÉا پایÉÉانPHPیک اسکریپت

پردازش کدها و ارسال خروجی به مرورگر، همه چیز به حالت پیش فرض بر می گردد )در وب دو فÉÉاکتور کالینت و سÉÉرور دخیÉÉل

بین کÉÉاربران مختلÉÉف بÉÉه صÉÉورت مسÉÉتقل پÉÉردازش می شÉÉوند وPHPهستند که با دستکتاپ متفاوت است(، ضمن اینکه کدهای

فراخوانی یک کد توسط یک کاربر تاثیری بر سایر کاربران ندارد!

array_fill_keysتابع

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

آرگومان دوم دریافت می کند، سپس مقدار موجود در آرایه اول را به عنوان کلید و مقادیر موجود در آرگومان دوم را به عنوان

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

<?php

$key_array = array('a', 'b', 'c');

$fill_array = array_fill_keys($key_array, 'php tutorial');

print_r($fill_array);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [a] => php tutorial

    [b] => php tutorial

    [c] => php tutorial

)

array_fillتابع

برای ایجاد یک آرایه جدید با مقادیر مورد نظر کاربرد دارد، در اینجا از سه آرگومÉان اسÉتفاده می شÉود، آرگومÉانarray_fillتابع

اول یک عدد است که اولین کلید ما را مشخص می کند، آرگومان دوم تعداد عناصر )کلید و مقدار( آرایه جدید را مشخص می کند

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

<?php

$fill_array = array_fill(1, 4, 'php tutorial');

print_r($fill_array);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [1] => php tutorial

    [2] => php tutorial

    [3] => php tutorial

    [4] => php tutorial

)

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

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

<?php

$fill_array = array_fill(-3, 4, 'php tutorial');

print_r($fill_array);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [-3] => php tutorial

    [0] => php tutorial

    [1] => php tutorial

    [2] => php tutorial

)

array_filterتابع

برای حذف موارد مورد نظر از یک آرایه استفاده می شود، این تابع دو آرگومان می پذیرد، آرگومان اول نامarray_filterتابع

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

را برگرداند، آن مقدار در آرایه نهایی خواهد1 یا عدد true( فرستاده می شود و اگر این تابع، callback functionبازگشتی )

را برگرداند، آن مقدار )و کلید( از آرایه نهایی حذف خواهد شد، به مثال زیر توجه کنید.0 یا falseبود، اما اگر تابع مقادیر

<?php

function CheckArray($array){

    if($array < 5){

        return TRUE;

    }

    else{

        return FALSE;

    }

}

$array = array(1, 2, 3, 4, 5, 6);

$array_filter = array_filter($array, 'CheckArray');

print_r($array_filter);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 4

)

array_flipتابع

مقدار آن کلیدphp کلید و عبارت 1 جای کلید و مقدار را در یک آرایه تغییر می دهد، به طور مثال اگر عدد array_flipتابع

به عنوان مقدار آرایه در نظر گرفته می شود، البته1 به عنوان کلید و عدد php، عبارت array_flipباشد، با استفاده از تابع

( باشد، نکته دوم اینکه اگر مقادیر در آرایه چند بار تکرار شده باشند،string( یا رشته )integerمقدار آرایه باید الزاما یک عدد )

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

<?php

$array = array('php', 'html', 'php', 'javascript', 'mysql', 'css', 'mysql',

'ajax');

$array_flip = array_flip($array);

print_r($array_flip);

?>

خروجی مثال باال به طورت زیر خواهد بود.

Array

(

    [php] => 2

    [html] => 1

    [javascript] => 3

    [mysql] => 6

    [css] => 5

    [ajax] => 7

)

array_intersect_assocتابع

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

آرگومان می پذیرد، آرگومان اول آرایه اصلی و آرگومان دوم آرایه دیگر برای مقایسه با آرایه اصلی است، نتیجه نیز یک آرایه

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

<?php

$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');

$array_2 = array(19=> 'css', 13 => 'php', 14 => 'html');

$array_intersect = array_intersect_assoc($array_1, $array_2);

print_r($array_intersect);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [14] => html

)

array_intersect_keyتابع

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

پذیرد، آرگومان اول آرایه اصلی و آرگومان دوم آرایه دیگر برای مفایسه با آرایه اصلی است، نتیجه نیز یک آرایه جدید با کلیدهایی

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

<?php

$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');

$array_2 = array(19=> 'css', 18 => 'php', 14 => 'html');

$array_intersect = array_intersect_key($array_1, $array_2);

print_r($array_intersect);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [14] => html

    [18] => css

)

array_intersect_uassocتابع

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

آرگومان می پذیرد، آرگومان اول آرایه اصلی و آرگومان دوم آرایه دیگر برای مفایسه با آرایه اصلی است، آرگومان سوم نیز یک

، صفر یا1( جهت اعمال تنظیمات در مقایسه بین دو آرایه است، این تابع می تواند سه عدد callback functionتابع بازگشتی )

- را برگرداند، نتیجه نیز یک آرایه جدید با مقادیری است که بین دو آرگومان مشترک هستند )با در نظر گرفتن تنظیمات تابع و1

مقایسه کلیدها(، به مثال زیر توجه کنید.

<?php

function CheckArray($array_1, $array_2){

    if($array_1 > $array_2){

        return 0;

    }

    return ($array_1 === $array_2)? 1:-1;

}

$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');

$array_2 = array(12 => 'php', 18 => 'html', 14 => 'css');

$array_intersect = array_intersect_uassoc($array_1, $array_2, 'CheckArray');

print_r($array_intersect);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [18] => css

)

، بÉÉرای هÉÉر کلیÉÉد و مقÉÉدار آرایÉÉه هÉÉا مقایسÉÉه ایCheckArray: در تابعی که توسط کاربر تعریف می شود )در اینجÉÉا تÉÉابع 1نکته

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

- برگردانده می شود و مقادیر مربوطه به خروجی ارسÉال نمی شÉوند )بÉرعکس تÉابع1 یا 1ارسال شود، در غیر این صورت عدد

array_diff_uassoc.)

استفاده شÉÉده اسÉÉت،php( در else و if از شیوه مختصر نویسی دستورات شرطی )CheckArray: در قسمت دوم تابع 2نکته

را دارد.else و عالمت : نقش ifدر اینجا عالمت ? بعد از پرانتز مقایسه، نقش

array_intersect_ukeyتابع

جهت مقایسه وجود کلید های یک آرایه )آرگومان اول( در کلیدهای آرایه دوم )آرگومان دوم( باarray_intersect_ukeyتابع

- و صفر را برمی گرداند، نتیجه و خروجی نیز یک1، 1( است که سه مقدار callback functionاستفاده از یک تابع بازگشتی )

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

<?php

function CheckArray($array_1, $array_2){

    if($array_1 == $array_2){

        return 0;

    }

    return ($array_1 > $array_2)? 1:-1;

}

$array_1 = array(12 => 'php', 14 => 'html', 18=> 'css');

$array_2 = array(12 => 'php', 20 => 'html', 14 => 'css');

$array_intersect = array_intersect_ukey($array_1, $array_2, 'CheckArray');

print_r($array_intersect);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [12] => php

    [14] => html

    [18] => css

)

array_intersectتابع

برای مقایسه دو آرایه و استخراج مقادیر مشترک )بدون در نظر گرفتن کلیدها( استفاده می شود،array_intersectتابع

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

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

<?php

$array_1 = array(1, 3, 5, 7, 9);

$array_2 = array(1, 2, 3, 4, 5);

$array_intersect = array_intersect($array_1, $array_2);

print_r($array_intersect);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [0] => 1

    [1] => 3

    [2] => 5

)

array_key_existsتابع

را برمیTRUE وجود یک کلید را در آرایه بررسی می کند، اگر کلید مورد نظر وجود داشت، مقادیر array_key_existsتابع

را برمی گرداند، به مثال زیر توجه کنید.FALSEگرداند و در غیر این صورت مقادیر

<?php

$array = array('php' => 23, 'htm' => 44, 'css' => 21, 'mysql' => 32);

$check_array = array_key_exists('Java', $array);

if($check_array == TRUE){

    echo 'Yes!';

}

else{

    echo 'No!';

}

?>

خروجی مثال باال به صورت زیر خواهد بود.

No!

array_keysتابع

کلیدهای یک آرایه را استخراج کرده و با آنها یک آرایه جدید می سازد، این تابع آرگومان دومی نیز می پذیرد کهarray_keysتابع

اگر تعیین شود، تنها کلیدهایی در آرایه خروجی چاپ می شوند که مقادیر آنها برابر با آرگومان دوم باشد، به مثال زیر توجه کنیÉÉد.

<?php

$array = array('php' => 23, 'htm' => 44, 'css' => 21, 'mysql' => 32);

$check_array = array_keys($array, '21');

print_r($check_array);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [0] => css

)

باشÉÉد، از عالمت ===true به این تابع افزوده شده که اگر برابÉÉر strict و مابعد، پارامتر سومی به نام 5 نسخه phpنکته: در

به جای == برای تطبیق استفاده می شود.

array_mapتابع

( به عنوان آرگومان اول، مقادیر یک آرایه )آرگومان دوم(callback function با استفاده از یک تابع بازگشتی )array_mapتابع

را تحلیل کرده و آرایه جدیدی )با مقادیر جدید( خروجی می دهد، به مثال زیر توجه کنید.

<?php

function CallBack($value){

    if($value & 1){

        return 'فرد - ' . $value;

    }

    return 'زوج - ' . $value;

}

$array = array(1, 2, 3, 4);

$check_array = array_map('CallBack', $array);

print_r($check_array);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

1فرد - <= [0]    

2زوج - <= [1]    

3فرد - <= [2]    

4زوج - <= [3]    

)

می توانBitwise استفاده شده است )عالمت &(، با استفاده از عملگرهای php در Bitwise: در مثال باال از عملگرهای 1نکته

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

اجرا شده )و مقادیری برگردانده می شود(، در واقع به معنی پایان آن تابع )یا آن دور ازreturn: هنگامی که در یک تابع، 2نکته

return اجرا می شود )هرچند در چند مرحله تابع، از returnبه کارگیری تابع( است، لذا در هر بار فراخوانی توابع، تنها یک

استفاده شده باشد(.

array_merge_recursiveتابع

برای ترکیب چند الیه دو یا چند آرایه کاربرد دارد، این تابع با دریافت دو آرایه به عنوان آرگومانarray_merge_recursiveتابع

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

<?php

$array_1 = array('php' => 33, 'javascript' => 21, 'html' => 22, 'css' => 45);

$array_2 = array('mysql' => 66, 'ajax' => 34, 'javascript' => 78, 'seo' =>

90);

$array_merge = array_merge_recursive($array_1, $array_2);

print_r($array_merge);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [php] => 33

    [javascript] => Array

        (

            [0] => 21

            [1] => 78

        )

    [html] => 22

    [css] => 45

    [mysql] => 66

    [ajax] => 34

    [seo] => 90

)

نکته: همان طور که در خروجی مثال باال مشخص است، هنگامی که یک کلید در هر دو آرایه مشترک است، ابتÉÉدا مقÉÉادیر آنهÉÉا در

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

array_mergeتابع

برای ترکیب ساده دو یا چند آرایه کاربرد دارد، این تابع با دریافت دو آرایه به عنوان آرگومان و با استفاده ازarray_mergeتابع

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

<?php

$array_1 = array('php' => 33, 'javascript' => 21, 'html' => 22, 'css' => 45);

$array_2 = array('mysql' => 66, 'ajax' => 34, 'javascript' => 78, 'seo' =>

90);

$array_merge = array_merge($array_1, $array_2);

print_r($array_merge);

?>

خروجی مثال باال به شکل زیر خواهد بود.

Array

(

    [php] => 33

    [javascript] => 78

    [html] => 22

    [css] => 45

    [mysql] => 66

    [ajax] => 34

    [seo] => 90

)

نکته: همان طور که در خروجی مثال باال مشخص است، هنگامی که یک کلید در هر دو آرایه مشترک است، تنها مقادیر کلیÉÉد دوم

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

array_padتابع

برای گسترش یک آرایه به میزان مورد نظر استفاده می شود، این تابع سه آرگومان می پذیرد، آرگومان اولarray_padتابع

آرایه ای است که قصد گسترش آن را داریم، آرگومان دوم میزان گسترش آرایه است و آرگومان سوم مقادیری است که برای

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

<?php

$array = array(1, 2, 3, 4, 5);

$array_pad = array_pad($array, 7, 0);

print_r($array_pad);

?>

خروجی مثال باال به صورت زیر خواهد بود.

Array

(

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 4

    [4] => 5

    [5] => 0

    [6] => 0

)

نکته: اگر مقادیر آرگومان سوم، عددی مثبت یا صفر باشد، کلیدهای اضافه شده به انتهای آرایه افزوده می شوند، اما اگر مقادیر

منفی باشد، کلیدها از ابتدای آرایه اضافه می شوند.

برای کار با آرایه ها است، لذا به جهت اهمیت موضوع، مبحثphpتوابعی که تا این لحظه بررسی نمودیم، تنها بخشی از قدرت

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

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

دهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:

<?php

function AddHttp($num){

if(strlen($num) >= 5){

return 'https://'.$num;

}

elseif(strlen($num) < 5){

return 'http://'.$num;

}

return FALSE;

}

$str = '1212-1345-1587-2323-5454-4346565-232434-1234';

$array = explode('-', $str);

//print_r($array);

$count = count($array);

$result = NULL;

for($i = 0; $i < $count; $i++){

if($i == 0){

$result .= $array[$i];

}

elseif($i > 0){

$result .= '.mm@'.AddHttp($array[$i]);

}

}

echo $result;

?>

به نمایش گذاشت مثال کاربر فرم ثبت نام را پÉÉر کÉÉرده و وارد سÉÉایت شÉÉده حÉÉاال می خÉÉوایم درphpچطور میشه عکس ها را با

همین صفحه عکس بارگذاری شود و چطور میشه این عکس رو به عنوان بکگراند صفحه قرار داد. ممنون

 پاسخ:

سالم

PHP( یک زبان سمت سرور است که با اجرای کدهای آن، خروجی سمت کاربر HTMLبه دست می آید، لذا باید کدی بنویسید )

باشد، مثال ساده:imgکه خروجی آن تگ

?>php

echo '<img src="image/'.$user.'.jpg" alt="image" height="200" width="100;'<"

<?

می توانید این خروجی را هر طور که مایل بودید، تنظیم و ارسال کنید، لذا بÉÉرای مÉÉواردی ماننÉÉد تصÉÉویر پس زمینÉÉه کÉÉافی اسÉÉت

CSS را با تصویر مورد نظÉر تنظیم نمائیÉد )نیÉاز بÉه آشÉنایی بÉا background بدهید و در آن body یا div به یک تگ CSSکالس

است(.

رو در همون صفحه اچphpمعموال فرمهای اچ تی ام ال رو به سمت سرور ارجاع میدیم و اونجا تحلیل میشن ولی میشه کدهای

تی ام ال نوشت و در همون صفحه تحلیل بشن ایا این روش توصیه میشه؟

 پاسخ:

به همان صفحه ارجاع داده شوند، این کار به راحÉÉتی وHTMLسوالتان خیلی واضح نیست! اگر منظورتان این است که فرم های

و در مرورگÉÉرHTML را در فایÉÉل PHP فرم ممکن است، اما اگر منظورتان این است که کدهای actionاز طریق تنظیم قسمت

یک زبان سمت سرور است و باید در مفسر سرور پردازش شود، لذا فرمت فایل نÉÉیزPHPپردازش کنیم، این کار ممکن نیست،

وجود دارد(.PHP در فایل HTML باشد )هرچند امکان استفاده از کدهای phpباید

جواد نویسنده:

۱۳۹۲/۰۸/۰۹تاریخ: - ۱۵:۱۳:۳۱زمان:

اره منظورم همون مورد اول هست یعنی کدهای اچ تی ام ال در همان صÉÉفحه ی پی اچ پی واقÉÉع باشÉÉند در چÉنین حÉالتی چطÉور

تشکیل بدیم؟ با تشکرHTML قرار و برای این کار حتما باید فرم PHP رو درون یه متغیر HTMLمیشه یه مقدار

 پاسخ:

( نÉÉیز کÉÉاربرد دارنÉÉد، امÉÉا در کÉÉل روش اصÉÉلیURL )دریافت پÉÉارامتر از GETعالوه بر فرم های وب، روش های دیگری مانند متد

است.HTMLارسال اطالعات به سرور، استفاده از فرم در

جواد نویسنده:

۱۳۹۲/۰۸/۰۹تاریخ: - ۱۵:۳۹:۵۹زمان:

باید چه مقداری قرار بدیم؟actionدر این حالت در قسمت فرم

 پاسخ:

نام یا آدرس همان فایل را قرار دهید!

mohammad نویسنده:

۱۳۹۳/۰۶/۱۴تاریخ: - ۱۹:۰۷:۴۲زمان:

سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم و عÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرض خسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته نباشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉید.

اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتاد ببخشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉید عملگÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر & در کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد

$value & 1

می باشد(array_mapچه کاری انجام میده؟ )در تابع مربوط به

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

متفÉاوت اسÉت )نیازمنÉد آشÉنایی قبلی شÉما بÉاLogical است که با حالت منطقی یÉا Bitwiseعملگر & جزء عملگرهای بیتی یا

اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت(.1 و 0 یÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا همÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉان BinaryمفÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاهیم

http://php.net/manual/en/language.operators.bitwise.php

را برمی گردانÉÉد.value با متغیر 1عالمت & در اینجا مجموع عدد بیت های مشترک )جایی که دو مقدار بیت مشترک دارند( بین

http://www.litfuel.net/tutorials/bitwise.htm

- بخش سومPHPتوابع کار با آرایه در

، قسمتی از توابع از پیش تعریف شده کÉÉار بÉÉاPHPدر دو مطلب گذشته از بخش آموزش برنامه نویسی

آرایه را با هم بررسی کردیم، توابعی که هÉر کÉدام در شÉرایط خاصÉی ممکن اسÉت بÉه کارمÉان بیاینÉد و

رهگشا باشند، همچنین پیش از این گفتیم که مبحث آرایه ها جزء کلیدی ترین مباحث در اغلب زبان هÉÉای

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

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

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

array_popتابع

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

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: می شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود، مث

?>php

$array = array(1, 2, 3, 4, 5);

$array_pop = array_pop($array);

print_r($array) ;

echo $array_pop ;

<?

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:print_rکÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

Array

)

   ] 0 <= [1

   ] 1 <= [2

   ] 2 <= [3

   ] 3 <= [4

(

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:echoو نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

5

برگردانده می شود.NULL  نکته: در صورتی که آرگومان تابع یک آرایه نباشد، یا آرایه هیچ عضوی نداشته باشد، مقادیر

array_productتابع

مجموع حاصل ضرب مقادیر کلید های یک آرایه را برمی گردانÉÉد، خÉÉروجی می توانÉÉد بÉÉه صÉÉورت یÉÉک عÉÉددarray_productتابع

( باشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال:float( یÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا اعشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاری )integerصÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉحیح )

?>php

$array = array(1, 2, 3, 4, 5);

$array_product = array_product($array);

echo $array_product ;

<?

(.5*4*3*2*1 خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود )120کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر

خواهد بود.1 برای آرایه های خالی مقادیر productنکته: نتیجه

array_pushتابع

برای اضافه کردن یک یا چند مقدار به انتهای آرایه استفاده می شود، حاصل این تابع آرایه ای جدیÉÉد اسÉÉت کÉÉهarray_pushتابع

مÉÉÉÉÉÉÉÉÉÉÉÉوارد مÉÉÉÉÉÉÉÉÉÉÉÉورد نظÉÉÉÉÉÉÉÉÉÉÉÉر بÉÉÉÉÉÉÉÉÉÉÉÉه انتهÉÉÉÉÉÉÉÉÉÉÉÉای آن افÉÉÉÉÉÉÉÉÉÉÉÉزوده شÉÉÉÉÉÉÉÉÉÉÉÉده انÉÉÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉÉÉال:

?>php

$array = array(1, 2, 3, 4, 5);

array_push($array, '6', '7');

print_r($array) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:

Array

)

   ] 0 <= [1

   ] 1 <= [2

   ] 2 <= [3

   ] 3 <= [4

   ] 4 <= [5

   ] 5 <= [6

   ] 6 <= [7

(

دریافت خواهید کرد.E_WARNINGنکته: در صورتی که آرگومان اول این تابع یک آرایه نباشد، خطایی از نوع

array_randتابع

بÉÉÉÉرای پیÉÉÉÉدا کÉÉÉÉردن کلیÉÉÉÉدهای اتفÉÉÉÉاقی در یÉÉÉÉک آرایÉÉÉÉه اسÉÉÉÉتفاده می شÉÉÉÉوند، بÉÉÉÉه طÉÉÉÉور مثÉÉÉÉال:array_randتÉÉÉÉابع

?>php

$array = array('HTML', 'CSS', 'JavaScript', 'PHP', 'MySQL');

$array_rand = array_rand($array, 2);

print_r($array_rand) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉورت اتفÉÉÉÉÉÉÉÉÉÉÉاقی برابÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉا:

Array

)

   ] 0 <= [0

   ] 1 <= [4

(

دریافت خواهید کرد.E_WARNINGنکته: در صورتی که آرگومان دوم این تابع بیشتر از تعداد عناصر آرایه باشد، خطایی از نوع

array_reduceتابع

callback در یÉÉک دور تکÉÉرار، حاصÉÉل جمÉÉع تمÉÉام مقÉÉادیر یÉÉک آرایÉÉه را بÉÉا اسÉÉتفاده از یÉÉک تÉÉابع برگشÉÉتی )array_reduceتÉÉابع

functionبر می گرداند، در صورتی که آرگومان سوم این تابع تنظیم شده باشد، به عنوان آرگومان اول تابع برگشتی عمل می )

کمÉÉÉÉÉÉک کننÉÉÉÉÉÉد.array_reduceکنÉÉÉÉÉÉد، مثÉÉÉÉÉÉال هÉÉÉÉÉÉای زیÉÉÉÉÉÉر می تواننÉÉÉÉÉÉد بÉÉÉÉÉÉه درک نحÉÉÉÉÉÉوه عملکÉÉÉÉÉÉرد تÉÉÉÉÉÉابع

?>php

function CallBack($result, $item)}

    $result += $item;

    return $result;

{

$array = array(1, 2, 3, 4, 5);

$a = array_reduce($array, "CallBack");

//1 + 2 + 3 + 4 + 5

echo $a ;

<?

خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.15 برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر echoخÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالی دیگÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر:

?>php

function CallBack($result, $item)}

    $result -= $item;

    return $result;

{

$array = array(1, 2, 3, 4, 5);

$a = array_reduce($array, "CallBack", 20);

//20) - 1 + 2 + 3 + 4 + 5(

echo $a ;

<?

خواهد بود.5 برابر echoخروجی دستور

array_replaceتابع

مقادیر آرایه اول )آرگومان اول( را با مقادیر مشÉÉابه آرایÉÉه یÉÉا آرایÉÉه هÉÉای دیگÉر )آرگومÉÉان دوم، سÉÉوم و...(array_replaceتابع

جایگزین می کند، اگر یک کلید در آرایه اول و دوم وجÉود داشÉÉته باشÉÉد، مقÉادیر آن در آرایÉÉه اول بÉÉا مقÉادیر موجÉود در آرایÉÉه دوم

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

?>php

$array_1 = array('HTML' => 3, 'JavaScript' => 5, 'PHP' => 2, 'AJAX' => 8,

'JAVA' => 4);

$array_2 = array('Python' => array(1, 3, 5), 'Ruby' => 6, 'MySQL' => array(7,

2, 0), 'JavaScript' => 9, 'JAVA' => 3);

$result = array_replace($array_1, $array_2);

print_r($result) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

Array

)

   ] HTML <= [3

   ] JavaScript <= [9

   ] PHP <= [2

   ] AJAX <= [8

   ] JAVA <= [3

   ] Python <= [Array

       )

           ] 0 <= [1

           ] 1 <= [3

           ] 2 <= [5

       (

   ] Ruby <= [6

   ] MySQL <= [Array

       )

           ] 0 <= [7

           ] 1 <= [2

           ] 2 <= [0

       (

(

بÉÉا دومین مقÉدار مشÉÉترک بÉÉه خÉروجی فرسÉÉتاده شÉÉده.JAVA و JavaScriptبÉÉا دقت در مثÉÉال بÉÉاال متوجÉه می شÉÉویم کÉه کلیÉÉد

PHP از نسÉÉÉÉÉÉÉÉÉÉخه array_replace: تÉÉÉÉÉÉÉÉÉÉابع 1نکتÉÉÉÉÉÉÉÉÉÉه 5 <= افÉÉÉÉÉÉÉÉÉÉزوده شÉÉÉÉÉÉÉÉÉÉده.5.3.0

وجÉود دارد کÉه در بÉرخی حÉالت هÉÉا، خÉروجی متفÉاوتیarray_replace_recursive: تابعی دیگری مشابه این تابع با نام 2نکته

ایجاد می کند.

array_reverseتابع

برای تغییر چینش عناصر یک آرایه به صورت معکوس به کار می رود، در صورتی که آرگومان دوم این تÉÉابعarray_reverseتابع

( تنظیم شÉÉÉÉÉÉÉÉÉÉود، چینش کلیÉÉÉÉÉÉÉÉÉÉدها نÉÉÉÉÉÉÉÉÉÉیز تغیÉÉÉÉÉÉÉÉÉÉیر می کننÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉال:TRUE)بÉÉÉÉÉÉÉÉÉÉا مقÉÉÉÉÉÉÉÉÉÉادیر

?>php

$array = array(1, 2, 3, 4, 5);

$result = array_reverse($array, true);

print_r($result) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

Array

)

   ] 4 <= [5

   ] 3 <= [4

   ] 2 <= [3

   ] 1 <= [2

   ] 0 <= [1

(

array_searchتابع

برای به دست آوردن یک کلید از آرایه بر مبنای مقادیر متناظر آن به کار می رود، در واقع آرگومان در اینجÉÉاarray_searchتابع

یÉÉک مقÉÉدار اسÉÉت کÉÉه این تÉÉابع بÉÉا جسÉÉتجو در آرایÉÉه، کلیÉÉد متنÉÉاظر بÉÉا آن را )در صÉÉورت پیÉÉدا شÉÉدن( بÉÉرمی گردانÉÉد، مثÉÉال:

?>php

$array = array('HTML', 'PHP', 'MySQL');

$result = array_search('PHP', $array);

echo $result ;

<?

خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.1کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر

یÉÉا سÉÉختگیرانه انجÉÉامstrict( تنظیم شده باشد، جستجو به صÉÉورت TRUEنکته: در صورتی که آرگومان سوم این تابع )با مقادیر

و...( نیز باید کامال یکسان باشد.int, stringشده که در این حالت مواردی مانند نوع داده ها )

array_shiftتابع

(array_pop برای حذف یک کلید و مقدار آن از ابتدای آرایه استفاده می شÉود، خÉروجی این تÉابع )ماننÉد تÉابع array_shiftتابع

آرایÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه ای جدیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت، مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال:

?>php

$array = array(1, 2, 3, 4, 5);

$array_shift = array_shift($array);

print_r($array) ;

echo $array_shift ;

<?

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:print_rکÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

Array

)

   ] 0 <= [2

   ] 1 <= [3

   ] 2 <= [4

   ] 3 <= [5

(

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:echoو نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

1

array_sliceتابع

برای تجزیه یک آرایه و دریافت قسمت خاصی از آن به عنوان خروجی اسÉتفاده می شÉود، این تÉابع حÉداکثر تÉاarray_sliceتابع

چهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉار آرگومÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉان بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرح زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر می پÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉذیرد:

-array.ی از آن را داریمÉÉÉÉÉمت خاصÉÉÉÉÉرش قسÉÉÉÉÉد بÉÉÉÉÉه قصÉÉÉÉÉت کÉÉÉÉÉه ای اسÉÉÉÉÉان آرایÉÉÉÉÉابع همÉÉÉÉÉان اول این تÉÉÉÉÉآرگوم :

-offsetایÉÉرش از انتهÉÉه بÉÉنقطه شروع برش را به صورت عددی مشخص می کند، در صورتی که این مقدار منفی باشد، نقط :

آرایÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه محاسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉبه می شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

-lengthودÉÉر موجÉÉطول برش را مشخص می کند، در صورتی که طول برش از عناصر موجود در آرایه بیشتر باشد، تنها عناص :

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

-preserve_keys اگر با مقادیر : TRUEدÉÉماره کلیÉÉان شÉÉیر و همÉÉدون تغیÉÉروجی بÉÉتنظیم شده باشد، شماره کلیدها در آرایه خ

آرایÉÉÉÉÉه اصÉÉÉÉÉلی خواهÉÉÉÉÉد بÉÉÉÉÉود )در غÉÉÉÉÉیر این صÉÉÉÉÉورت شÉÉÉÉÉمارش از صÉÉÉÉÉفر شÉÉÉÉÉروع و بÉÉÉÉÉه انتهÉÉÉÉÉا ختم می شÉÉÉÉÉود(.

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: مث

?>php

$array = array('a', 'b', 'c', 'd', 'e');

$array_slice = array_slice($array, 3);

print_r($array_slice);

$array_slice = array_slice($array, 3, 1);

print_r($array_slice);

$array_slice = array_slice($array, -3, 2);

print_r($array_slice) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود:

Array

)

   ] 0 <= [d

   ] 1 <= [e

(

Array

)

   ] 0 <= [d

(

Array

)

   ] 0 <= [c

   ] 1 <= [d

(

array_spliceتابع

برای حذف قسمتی خاص از آرایه و جایگزینی آن با مقادیر جدید استفاده می شود، این تابع حداکثر می تواندarray_spliceتابع

چهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉار آرگومÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉان بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرح زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر داشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته باشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:

-array.ی از آن را داریمÉÉÉÉÉمت خاصÉÉÉÉÉذف قسÉÉÉÉÉد حÉÉÉÉÉه قصÉÉÉÉÉت کÉÉÉÉÉه ای اسÉÉÉÉÉان آرایÉÉÉÉÉابع همÉÉÉÉÉان اول این تÉÉÉÉÉآرگوم :

-offset ذف ازÉÉنقطه شروع حذف را به صورت عددی مشخص می کند، در صورتی که این مقدار مثبت باشد، نقطه ح : offset

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

-length د ازÉر بعÉداد از عناصÉان تعÉه همÉود، بÉاین پارامتر در اینجا رفتاری متفاوت دارد، اگر با مقادیر مثبت تنظیم ش : offset

offset باشد، در حذف عناصر، الویت بÉÉا length بزرگتر یا مساوی offsetحفظ و مابقی حذف می شوند )در صورتی که مقادیر

با مقادیر منفی تنظیم شود، رفتار آن به انتهای آرایه معطوف می شود )بÉÉرای درک  نادیده گرفته می شود(، اگرlengthاست و

از آنهÉÉÉÉÉÉÉا خÉÉÉÉÉÉÉروجی بگیریÉÉÉÉÉÉÉد(.print_rبهÉÉÉÉÉÉÉتر می توانیÉÉÉÉÉÉÉد چنÉÉÉÉÉÉÉد مثÉÉÉÉÉÉÉال فرضÉÉÉÉÉÉÉی بنویسÉÉÉÉÉÉÉید و بÉÉÉÉÉÉÉا

-replacementاتÉÉه تنظیمÉÉورتی کÉÉوند، در صÉÉاگر این پارامتر تنظیم شود، مقادیر حذف شده با مقادیر جدید جایگزین می ش :

offset به گونه ای باشد که مقادیری از آرایه اصلی حذف نشود، در این حالت مقادیر جدید بÉÉر اسÉÉاس length و offsetقسمت

یا از پیش تعریف شده نیستند و لذا شÉÉمارش از صÉÉفر شÉÉروع وpreserveبه آرایه اصلی اضافه می شوند )کلیدها در این حالت

بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه انتهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا ختم می شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود(.

ندارد، لذا آشنایی در حد اولیه بÉÉا آن کÉÉافی خواهÉÉدPHPنکته: به نظر این تابع رفتار خیلی مشخص و یکسانی در تمام نسخه های

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود! ب

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: مث

?>php

$array = array('a', 'b', 'c', 'd', 'e');

$array_splice = array_splice($array, 3);

print_r($array_splice);

$array_splice = array_splice($array, 2, 1);

print_r($array_splice);

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی:

Array

)

   ] 0 <= [d

   ] 1 <= [e

(

Array

)

   ] 0 <= [c

(

array_sumتابع

بÉÉÉÉÉÉرای محاسÉÉÉÉÉÉبه حاصÉÉÉÉÉÉل جمÉÉÉÉÉÉع مقÉÉÉÉÉÉادیر عÉÉÉÉÉÉددی یÉÉÉÉÉÉک آرایÉÉÉÉÉÉه کÉÉÉÉÉÉاربرد دارد، مثÉÉÉÉÉÉال:array_sumتÉÉÉÉÉÉابع

?>php

$array = array(1, 4, 6);

$array_sum = array_sum($array);

echo $array_sum;

<?

خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.11کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر

این مبحث را در آموزش های بعدی همچنان ادامه خواهیم داد.

PHP « آموزش مقدماتی دسته بندی:

PHP برچسب ها:

قبلی «

» بعدیمطالب بیشتر: PHPآشنایی با برنامه نویسی به زبان  «php( در Variablesآشنایی و کار با متغیر ها ) «php در else و ifدستورات شرطی  «php( در برنامه نویسی Arrayآرایه ) « - بخش دومphpتوابع کار با آرایه در  «

یادداشت برای این مطلب ارسال شده است(۱۸نظرات )

محدثه قاسمی نویسنده:

۱۳۹۲/۰۹/۰۹تاریخ: - ۲۲:۱۱:۵۷زمان:

سالم. من توی دیتابیسم نام خانوادگی رو به صورت فارسی وارد کردم حاال می خوام اونÉÉا رو بÉÉه صÉÉورت تÉÉرتیب حÉÉروف الفبÉÉای

فارسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉی فراخÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوانی کنم و از کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉردم

$res = mysql_query("select * from user where order by name asc");

while($row = mysql_fetch_array($res))}

........

{

همون ستون محتوی نام خÉانوادگی هسÉت . امÉا اطالعÉات بÉه تÉرتیب الفبÉا نشÉون داده نمی شÉه. مشÉکل کجاسÉت؟nameکه

ممنون.

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

دیتابیس راServer connection collationدر درجه اول باید

utf8_persian_ci

انتخÉÉاب کنیÉÉد، سÉÉپس بÉÉرای اینکÉÉه کاراکترهÉÉا بÉÉه صÉÉورت فارسÉÉی در دیتÉÉابیس ذخÉÉیره شÉÉوند مراحÉÉل زیÉÉر را انجÉÉام دهیÉÉد:

- از متاتÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉگ زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر در تمÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉام صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉفحات اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده کنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:

>meta http-equiv="Content-Type" content="text/html; charset=utf-8<"

- عالوه بÉÉÉÉÉÉÉÉÉÉÉÉÉر دیتÉÉÉÉÉÉÉÉÉÉÉÉÉابیس، جÉÉÉÉÉÉÉÉÉÉÉÉÉداول و سÉÉÉÉÉÉÉÉÉÉÉÉÉتون هÉÉÉÉÉÉÉÉÉÉÉÉÉا را نÉÉÉÉÉÉÉÉÉÉÉÉÉیز بÉÉÉÉÉÉÉÉÉÉÉÉÉا یونیکÉÉÉÉÉÉÉÉÉÉÉÉÉد

utf8_persian_ci

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉازید. بس

- پس از اتصÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉا دیتÉÉÉÉÉÉÉÉÉÉÉÉابیس، پÉÉÉÉÉÉÉÉÉÉÉÉرس و جÉÉÉÉÉÉÉÉÉÉÉÉوی زیÉÉÉÉÉÉÉÉÉÉÉÉر را هم اجÉÉÉÉÉÉÉÉÉÉÉÉرا کنیÉÉÉÉÉÉÉÉÉÉÉÉد:

mysql_query ("SET NAMES 'utf8' ");

گزینÉÉهEncoding بÉÉاز کÉرده و سÉÉپس از قسÉÉمت Notepad- اگر مشکل همچنان حل نشد، فایل های خود را بÉÉا ویرایشÉÉگر ++

Encoding UTF-8 without BOM.دÉÉÉÉÉÉÉیره نمائیÉÉÉÉÉÉÉددا ذخÉÉÉÉÉÉÉود را مجÉÉÉÉÉÉÉل خÉÉÉÉÉÉÉاب و فایÉÉÉÉÉÉÉرا انتخ

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

محدثه قاسمی نویسنده:

۱۳۹۲/۰۹/۱۲تاریخ: - ۱۵:۱۴:۲۷زمان:

ممنون.

محدثه قاسمی نویسنده:

۱۳۹۲/۰۹/۱۲تاریخ: - ۲۰:۰۳:۴۲زمان:

سÉÉÉÉÉÉÉالم. مشÉÉÉÉÉÉÉکل حÉÉÉÉÉÉÉل شÉÉÉÉÉÉÉد. من االن دو تÉÉÉÉÉÉÉا سÉÉÉÉÉÉÉتون دارم یکی نÉÉÉÉÉÉÉام و دیگÉÉÉÉÉÉÉری نÉÉÉÉÉÉÉام خÉÉÉÉÉÉÉانوادگی.

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

مثال:

اطالعÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉات در صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉفحه این طÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوری نمÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉایش داده میشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه:

حسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉین بهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرامی

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروین علی پ

مهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉران عبÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉدی

قاسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉم عبÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉدی

علی یاسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉمی

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

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

$res = mysql_query("select * from user where order by family asc");

while($row = mysql_fetch_array($res))}

........

{

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

می توانیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد از پÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرس و جÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوی نمونÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده کنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:

SELECT * FROM user WHERE 1 ORDER BY name, family ASC

محدثه قاسمی نویسنده:

۱۳۹۲/۰۹/۱۲تاریخ: - ۲۱:۲۲:۱۸زمان:

بسیار متشکرم. مشکل حل شد.

ابراهیم نویسنده:

۱۳۹۲/۱۱/۰۳تاریخ: - ۲۰:۵۵:۰۱زمان:

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

علی نویسنده:

۱۳۹۲/۱۱/۲۰تاریخ: - ۱۲:۴۷:۲۷زمان:

سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم خسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته نباشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉید

یÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه راهنمÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉایی بکنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد مÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا رو ممنÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉون میشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉم

تÉÉÉÉÉÉÉÉÉÉÉو بخش عضÉÉÉÉÉÉÉÉÉÉÉویت قسÉÉÉÉÉÉÉÉÉÉÉمت نÉÉÉÉÉÉÉÉÉÉÉام کÉÉÉÉÉÉÉÉÉÉÉاربری این دسÉÉÉÉÉÉÉÉÉÉÉتورات نوشÉÉÉÉÉÉÉÉÉÉÉته شÉÉÉÉÉÉÉÉÉÉÉده

function IsName($name)

}

return preg_match("/^[a-z0-9]+$/i", $name);

for ($i = 0; $i<count($entities_match); $i++)}

if(strpos($name, $entities_match[$i]))}

return false;

{

{

return true;

{

منظور تک حرفی عضو بشه من میخوام محدودشB یا Aیه مشکلی که داره اینه که یکی اگه بخواد می تونه بیاد با یه حرف مثال

حÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرف بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود قبÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉول نکنÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه5کنم کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه اگÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه کمÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتر از

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

سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوال دیگÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه هم اینکÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉو این خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉط

return preg_match("/^[a-z0-9]+$/i", $name);

حÉÉÉÉÉروف و اعÉÉÉÉÉداد انگلیسÉÉÉÉÉی هسÉÉÉÉÉتش واسÉÉÉÉÉه حÉÉÉÉÉروف الفبÉÉÉÉÉای فارسÉÉÉÉÉی بایÉÉÉÉÉد بÉÉÉÉÉه چÉÉÉÉÉه شÉÉÉÉÉکل باشÉÉÉÉÉه؟

---------

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

هÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉامون رو مطÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرح کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉنیم

ممنون

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده کنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:strlenدر مÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورد سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوال اول، می توانیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد از تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉابع

if(strlen($name) < 5)}

return FALSE;

{

در مÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورد سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوال دوم ظÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاهرا حÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر عمÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉل می کنÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:

if)preg_match]^/')0-9\ ی- )){s/$+[u', $strآ

echo 'Valid;'

{

else}

echo 'InValid;'

{

را قÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرار دهیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد.name بایÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد متغÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉیر strبÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه جÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉای متغÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉیر

در مورد در نظر گرفتن بخش پرسش و پاسخ، هدف سایت این است که آموزش هÉÉا بÉÉا طÉÉرح سÉÉواالت کÉÉاربران کÉÉاملتر و احیانÉÉا

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

علی نویسنده:

۱۳۹۲/۱۱/۲۱تاریخ: - ۰۰:۳۸:۱۵زمان:

بعÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد این مسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاوی این عÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉدد چÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاربردی داره؟

function PassGen($length = 8)

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

function IsName($name)

}

return preg_match("/^[a-z0-9]+$/i", $name);

if(strlen($name) < 5)}

return FALSE;

{

{

 پاسخ:

returnمساوی برای اختصاص دادن یک مقدار اولیه )پیش فرض( به آرگومان تابع اسÉÉت، در مÉÉورد تغیÉÉیر هم وقÉÉتی در تÉÉابع یÉÉک

اجÉÉÉÉÉÉÉÉرا می شÉÉÉÉÉÉÉÉود سÉÉÉÉÉÉÉÉایر کÉÉÉÉÉÉÉÉدهای بعÉÉÉÉÉÉÉÉد از آن نادیÉÉÉÉÉÉÉÉده گرفتÉÉÉÉÉÉÉÉه می شÉÉÉÉÉÉÉÉوند!، نمونÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉحیح:

?>php

function IsName($name)}

if(preg_match("/^[a-z0-9]+$/i", $name) && strlen($name) >= 5)}

return TRUE;

{

return FALSE;

{

<?

علی نویسنده:

۱۳۹۲/۱۱/۲۱تاریخ: - ۰۰:۴۹:۲۲زمان:

شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرمنده سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوالم واسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه امشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉب سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد

تو سایت اسمارتی بخش تاالر عضو شدم سوال پرسیدم ولی خدایش چیزی متوجÉه نشÉدم ازشÉون اخÉه بخش فارسÉی زبانهÉاش

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

Smarty-2.6.28 اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده میکنم2013

مشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉکلمم اینÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه

}literal{

>script type="text/javascript<"

var flashvarsVideo} =

source: "{/literal}{$image.url}{literal},"

type: "video,"

streamtype: "file,"

server: "",//Used for rtmp streams

duration: "52,"

poster: "http://jaris.sourceforge.net/images/poster.png,"

autostart: "false,"

logo: "http://jaris.sourceforge.net/images/logo.png,"

logoposition: "top left,"

logoalpha: "30,"

logowidth: "130,"

logolink: "http://jaris.sourceforge.net,"

hardwarescaling: "false,"

darkcolor: "000000,"

brightcolor: "4c4c4c,"

controlcolor: "FFFFFF,"

hovercolor: "67A8C1"

;{

/>script<

/}literal{

دقیقÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا این کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉو کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال هم هسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت

source: "{$image.url},"

ولی چÉÉون تÉÉو جÉÉاوا این دسÉÉتور رو وارد کÉÉردم بÉÉه نتیجÉÉه تبÉÉدیل نمیشÉÉه منظÉÉورم این دسÉÉتوره واسÉÉه نمÉÉایش لینÉÉک عکسÉÉه

$}image.url{

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

}literal{

}literal{/

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

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

کد شما اصالح شد.

علی نویسنده:

۱۳۹۲/۱۱/۲۳تاریخ: - ۱۰:۱۱:۵۵زمان:

میشÉÉÉÉÉه یÉÉÉÉÉه توضÉÉÉÉÉیحی در مÉÉÉÉÉورد این دسÉÉÉÉÉتورات بدیÉÉÉÉÉد معÉÉÉÉÉنی و مفهومشÉÉÉÉÉون و بÉÉÉÉÉه چÉÉÉÉÉه دردی میخÉÉÉÉÉورن

البتÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه فÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉک کنم بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه امÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉنیت هم ربÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉط داشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته باشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه

$servername = 'localhost;'

$dbname = 'photo;'

$dbusername = 'root;'

$dbpassword;'' =

define('SITEHD', true);

define('TABLE_PREFIX', 'ali_');

define('COOKIE_KEY', 'Qvn1fy07jxqC');

define('WEBSITE_KEY', '5odPV6G2qszi');

define('BASEPATH', dirname(dirname(__FILE__)).'/');

 پاسخ:

لطفا از طÉرح سÉواالت کلی، غÉیر مرتبÉط بÉا مطÉالب و مÉواردی کÉه هیچ تالشÉی بÉرای رفÉع آنهÉÉا نکÉرده باشÉید خÉودداری کنیÉد!

true برابÉÉر SITEHD است که برای یک عبارت یک مقدار خاص تعریف می کند، به فرض defineتنها نکته کدهای باال استفاده از

خواهد بود.trueتعیین شده و در کد هر کجا استفاده شود به معنی

سهیال نویسنده:

۱۳۹۳/۰۲/۱۳تاریخ: - ۲۲:۱۰:۱۱زمان:

بنویسÉÉÉÉÉÉه تÉÉÉÉÉÉو خÉÉÉÉÉÉروجی، بÉÉÉÉÉÉا عالمت * بنویسÉÉÉÉÉÉه؟؟؟sسÉÉÉÉÉÉالم من چجÉÉÉÉÉÉوری کÉÉÉÉÉÉد نویسÉÉÉÉÉÉی کنم کÉÉÉÉÉÉه کلمÉÉÉÉÉÉه

کمک کنید ممنون میشم

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

سوال واضح نیست!

مریم نویسنده:

۱۳۹۳/۰۲/۱۹تاریخ: - ۱۵:۴۰:۲۸زمان:

میشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه این سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوالم جÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉواب بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉدین.

تÉÉا دکمÉÉه(9فÉÉرمی طÉÉراحی کنیÉÉد کÉÉه هÉÉر دکمÉÉه یÉÉا ابÉÉزار یÉÉا کنÉÉترل بÉÉر روی ان شÉÉامل یÉÉک عملکÉÉرد از مÉÉوارد زیÉÉر باشÉÉد. )

الÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉف(دوشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉکل کلی ازحلقÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه هÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا

ب(اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده ازشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرط سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاده

ج(اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده ازشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرط هÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉای تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉو در تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉو

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتفاده از  SelectCaseد(اس

ه(معÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرفی یÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉک رویÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه

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

 پاسخ:

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

علی نویسنده:

۱۳۹۳/۰۴/۲۵تاریخ: - ۱۲:۴۳:۴۵زمان:

میÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉدونم اینجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا جÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاش نیسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت

ولی بÉÉÉÉÉÉÉه خÉÉÉÉÉÉÉدا بÉÉÉÉÉÉÉا هÉÉÉÉÉÉÉزار بÉÉÉÉÉÉÉدبختی بÉÉÉÉÉÉÉا ایرانسÉÉÉÉÉÉÉل انالین شÉÉÉÉÉÉÉدم تÉÉÉÉÉÉÉا اومÉÉÉÉÉÉÉدم نظÉÉÉÉÉÉÉر بÉÉÉÉÉÉÉدم

لÉÉÉÉÉÉود بشÉÉÉÉÉÉه بایÉÉÉÉÉÉد چیکÉÉÉÉÉÉار کÉÉÉÉÉÉردphpتÉÉÉÉÉÉو موتÉÉÉÉÉÉور اسÉÉÉÉÉÉمارتی واسÉÉÉÉÉÉه اینکÉÉÉÉÉÉه یÉÉÉÉÉÉه دسÉÉÉÉÉÉتور تÉÉÉÉÉÉو

}php{

///Include the Services_Gravatar class.

require_once 'Services/Gravatar.php;'

هست/// منظورم زیر خط این

$gravatar = new Services_Gravatar('{$comments[comment].email}', array )

'size' => 180,

'rating' => Services_Gravatar::RATING_G,

;((

/}php{

}php {echo $gravatar->getHtml(array('title' => 'John Doe', 'alt' => 'John Doe

avatar')) {/php}

$}comments[comment].email{

گذاشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتم اجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرا نمیشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉهphpرو چÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉون تÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉو

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

/}literal} {کد }literalجای

چطوریه؟ تو انجمن اسمارتی پیام گذاشتم ولی کسی جواب نمیدهphpحاال تو

 پاسخ:

سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉوالتان مبهم اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت!

در کÉÉدهای شÉÉما وجÉÉود دارد، این قسÉÉمت شÉÉاید بÉÉه صÉÉورت زیÉÉر صÉÉحیح باشÉÉد )نیÉÉاز بÉÉه تسÉÉت دارد(:syntaxبÉÉه نظÉÉر مشÉÉکل

بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه جÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉای

$}'comments[comment].email'{

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالت از ح

$comments[comment].email

یا

$"comments[comment].email"

یÉک مقÉدارemail بÉا یÉک نقطÉه بÉه آرایÉه قبÉل خÉود متصÉل شÉده )مگÉر اینکÉه emailاستفاده کنید، البته مشخص نیسÉت چÉرا

constant تعریف شده با define باشد(، در هر صورت استفاده از کدهای PHP در قالب Smartyبه همین صورتی است که در

وجود دارد که حل آن نیاز به آزمایش و خطا است )متاسفانهsyntaxنمونه کد درج کرده اید، منتها به نظر در قسمتی یک خطای

در اختیار نداریم(.Smartyما سیستم

علی نویسنده:

۱۳۹۳/۰۴/۲۶تاریخ: - ۰۸:۵۵:۳۸زمان:

شد حذف

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

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

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

 پاسخ:

- متاسفانه برنامه ای نداریم که از این موتور قالب استفاده کند، لذا امکان تست کدها میسر نیسÉÉت، اگÉÉر مایÉÉل بودیÉÉد اطالعÉÉات

هاسÉÉÉÉÉÉتتان را از طریÉÉÉÉÉÉق ایمیÉÉÉÉÉÉل بÉÉÉÉÉÉه همÉÉÉÉÉÉراه توضÉÉÉÉÉÉیح مشÉÉÉÉÉÉکل ارسÉÉÉÉÉÉال کنیÉÉÉÉÉÉد تÉÉÉÉÉÉا بررسÉÉÉÉÉÉی شÉÉÉÉÉÉود.

- راجب اسمارتی مطالبی در وب فارسی وجود دارد!

مسعود نویسنده:

۱۳۹۳/۰۶/۱۴تاریخ: - ۰۰:۰۲:۰۳زمان:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم  ب

یÉÉÉÉÉÉÉÉÉه سÉÉÉÉÉÉÉÉÉوال داشÉÉÉÉÉÉÉÉÉتم . میخواسÉÉÉÉÉÉÉÉÉتم بÉÉÉÉÉÉÉÉÉبینم منظÉÉÉÉÉÉÉÉÉور از &= در کÉÉÉÉÉÉÉÉÉد زیÉÉÉÉÉÉÉÉÉر چیسÉÉÉÉÉÉÉÉÉت ؟

$this->registry =& $registry;

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

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

می کنÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال:

?>php

$a =& $b;

$a = 55;

echo $b.'<br;'<

$a = 66;

echo $b.'<br;'<

<?

هادی نویسنده:

۱۳۹۳/۰۸/۲۲تاریخ: - ۱۲:۰۲:۲۱زمان:

خیلی خوب بود ممنون

- بخش سومPHPتوابع کار با آرایه در

، قسمتی از توابع از پیش تعریف شده کÉÉار بÉÉاPHPدر دو مطلب گذشته از بخش آموزش برنامه نویسی

آرایه را با هم بررسی کردیم، توابعی که هÉر کÉدام در شÉرایط خاصÉی ممکن اسÉت بÉه کارمÉان بیاینÉد و

رهگشا باشند، همچنین پیش از این گفتیم که مبحث آرایه ها جزء کلیدی ترین مباحث در اغلب زبان هÉÉای

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

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

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

array_popتابع

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

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: می شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود، مث

?>php

$array = array(1, 2, 3, 4, 5);

$array_pop = array_pop($array);

print_r($array) ;

echo $array_pop ;

<?

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:print_rکÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

Array

)

   ] 0 <= [1

   ] 1 <= [2

   ] 2 <= [3

   ] 3 <= [4

(

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:echoو نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

5

برگردانده می شود.NULL  نکته: در صورتی که آرگومان تابع یک آرایه نباشد، یا آرایه هیچ عضوی نداشته باشد، مقادیر

array_productتابع

مجموع حاصل ضرب مقادیر کلید های یک آرایه را برمی گردانÉÉد، خÉÉروجی می توانÉÉد بÉÉه صÉÉورت یÉÉک عÉÉددarray_productتابع

( باشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال:float( یÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا اعشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاری )integerصÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉحیح )

?>php

$array = array(1, 2, 3, 4, 5);

$array_product = array_product($array);

echo $array_product ;

<?

(.5*4*3*2*1 خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود )120کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر

خواهد بود.1 برای آرایه های خالی مقادیر productنکته: نتیجه

array_pushتابع

برای اضافه کردن یک یا چند مقدار به انتهای آرایه استفاده می شود، حاصل این تابع آرایه ای جدیÉÉد اسÉÉت کÉÉهarray_pushتابع

مÉÉÉÉÉÉÉÉÉÉÉÉوارد مÉÉÉÉÉÉÉÉÉÉÉÉورد نظÉÉÉÉÉÉÉÉÉÉÉÉر بÉÉÉÉÉÉÉÉÉÉÉÉه انتهÉÉÉÉÉÉÉÉÉÉÉÉای آن افÉÉÉÉÉÉÉÉÉÉÉÉزوده شÉÉÉÉÉÉÉÉÉÉÉÉده انÉÉÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉÉÉال:

?>php

$array = array(1, 2, 3, 4, 5);

array_push($array, '6', '7');

print_r($array) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:

Array

)

   ] 0 <= [1

   ] 1 <= [2

   ] 2 <= [3

   ] 3 <= [4

   ] 4 <= [5

   ] 5 <= [6

   ] 6 <= [7

(

دریافت خواهید کرد.E_WARNINGنکته: در صورتی که آرگومان اول این تابع یک آرایه نباشد، خطایی از نوع

array_randتابع

بÉÉÉÉرای پیÉÉÉÉدا کÉÉÉÉردن کلیÉÉÉÉدهای اتفÉÉÉÉاقی در یÉÉÉÉک آرایÉÉÉÉه اسÉÉÉÉتفاده می شÉÉÉÉوند، بÉÉÉÉه طÉÉÉÉور مثÉÉÉÉال:array_randتÉÉÉÉابع

?>php

$array = array('HTML', 'CSS', 'JavaScript', 'PHP', 'MySQL');

$array_rand = array_rand($array, 2);

print_r($array_rand) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉورت اتفÉÉÉÉÉÉÉÉÉÉÉاقی برابÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉا:

Array

)

   ] 0 <= [0

   ] 1 <= [4

(

دریافت خواهید کرد.E_WARNINGنکته: در صورتی که آرگومان دوم این تابع بیشتر از تعداد عناصر آرایه باشد، خطایی از نوع

array_reduceتابع

callback در یÉÉک دور تکÉÉرار، حاصÉÉل جمÉÉع تمÉÉام مقÉÉادیر یÉÉک آرایÉÉه را بÉÉا اسÉÉتفاده از یÉÉک تÉÉابع برگشÉÉتی )array_reduceتÉÉابع

functionبر می گرداند، در صورتی که آرگومان سوم این تابع تنظیم شده باشد، به عنوان آرگومان اول تابع برگشتی عمل می )

کمÉÉÉÉÉÉک کننÉÉÉÉÉÉد.array_reduceکنÉÉÉÉÉÉد، مثÉÉÉÉÉÉال هÉÉÉÉÉÉای زیÉÉÉÉÉÉر می تواننÉÉÉÉÉÉد بÉÉÉÉÉÉه درک نحÉÉÉÉÉÉوه عملکÉÉÉÉÉÉرد تÉÉÉÉÉÉابع

?>php

function CallBack($result, $item)}

    $result += $item;

    return $result;

{

$array = array(1, 2, 3, 4, 5);

$a = array_reduce($array, "CallBack");

//1 + 2 + 3 + 4 + 5

echo $a ;

<?

خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.15 برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر echoخÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالی دیگÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر:

?>php

function CallBack($result, $item)}

    $result -= $item;

    return $result;

{

$array = array(1, 2, 3, 4, 5);

$a = array_reduce($array, "CallBack", 20);

//20) - 1 + 2 + 3 + 4 + 5(

echo $a ;

<?

خواهد بود.5 برابر echoخروجی دستور

array_replaceتابع

مقادیر آرایه اول )آرگومان اول( را با مقادیر مشÉÉابه آرایÉÉه یÉÉا آرایÉÉه هÉÉای دیگÉر )آرگومÉÉان دوم، سÉÉوم و...(array_replaceتابع

جایگزین می کند، اگر یک کلید در آرایه اول و دوم وجÉود داشÉÉته باشÉÉد، مقÉادیر آن در آرایÉÉه اول بÉÉا مقÉادیر موجÉود در آرایÉÉه دوم

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

?>php

$array_1 = array('HTML' => 3, 'JavaScript' => 5, 'PHP' => 2, 'AJAX' => 8,

'JAVA' => 4);

$array_2 = array('Python' => array(1, 3, 5), 'Ruby' => 6, 'MySQL' => array(7,

2, 0), 'JavaScript' => 9, 'JAVA' => 3);

$result = array_replace($array_1, $array_2);

print_r($result) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

Array

)

   ] HTML <= [3

   ] JavaScript <= [9

   ] PHP <= [2

   ] AJAX <= [8

   ] JAVA <= [3

   ] Python <= [Array

       )

           ] 0 <= [1

           ] 1 <= [3

           ] 2 <= [5

       (

   ] Ruby <= [6

   ] MySQL <= [Array

       )

           ] 0 <= [7

           ] 1 <= [2

           ] 2 <= [0

       (

(

بÉÉا دومین مقÉدار مشÉÉترک بÉÉه خÉروجی فرسÉÉتاده شÉÉده.JAVA و JavaScriptبÉÉا دقت در مثÉÉال بÉÉاال متوجÉه می شÉÉویم کÉه کلیÉÉد

PHP از نسÉÉÉÉÉÉÉÉÉÉخه array_replace: تÉÉÉÉÉÉÉÉÉÉابع 1نکتÉÉÉÉÉÉÉÉÉÉه 5 <= افÉÉÉÉÉÉÉÉÉÉزوده شÉÉÉÉÉÉÉÉÉÉده.5.3.0

وجÉود دارد کÉه در بÉرخی حÉالت هÉÉا، خÉروجی متفÉاوتیarray_replace_recursive: تابعی دیگری مشابه این تابع با نام 2نکته

ایجاد می کند.

array_reverseتابع

برای تغییر چینش عناصر یک آرایه به صورت معکوس به کار می رود، در صورتی که آرگومان دوم این تÉÉابعarray_reverseتابع

( تنظیم شÉÉÉÉÉÉÉÉÉÉود، چینش کلیÉÉÉÉÉÉÉÉÉÉدها نÉÉÉÉÉÉÉÉÉÉیز تغیÉÉÉÉÉÉÉÉÉÉیر می کننÉÉÉÉÉÉÉÉÉÉد، مثÉÉÉÉÉÉÉÉÉÉال:TRUE)بÉÉÉÉÉÉÉÉÉÉا مقÉÉÉÉÉÉÉÉÉÉادیر

?>php

$array = array(1, 2, 3, 4, 5);

$result = array_reverse($array, true);

print_r($result) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

Array

)

   ] 4 <= [5

   ] 3 <= [4

   ] 2 <= [3

   ] 1 <= [2

   ] 0 <= [1

(

array_searchتابع

برای به دست آوردن یک کلید از آرایه بر مبنای مقادیر متناظر آن به کار می رود، در واقع آرگومان در اینجÉÉاarray_searchتابع

یÉÉک مقÉÉدار اسÉÉت کÉÉه این تÉÉابع بÉÉا جسÉÉتجو در آرایÉÉه، کلیÉÉد متنÉÉاظر بÉÉا آن را )در صÉÉورت پیÉÉدا شÉÉدن( بÉÉرمی گردانÉÉد، مثÉÉال:

?>php

$array = array('HTML', 'PHP', 'MySQL');

$result = array_search('PHP', $array);

echo $result ;

<?

خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.1کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر

یÉÉا سÉÉختگیرانه انجÉÉامstrict( تنظیم شده باشد، جستجو به صÉÉورت TRUEنکته: در صورتی که آرگومان سوم این تابع )با مقادیر

و...( نیز باید کامال یکسان باشد.int, stringشده که در این حالت مواردی مانند نوع داده ها )

array_shiftتابع

(array_pop برای حذف یک کلید و مقدار آن از ابتدای آرایه استفاده می شÉود، خÉروجی این تÉابع )ماننÉد تÉابع array_shiftتابع

آرایÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه ای جدیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد اسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉت، مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال:

?>php

$array = array(1, 2, 3, 4, 5);

$array_shift = array_shift($array);

print_r($array) ;

echo $array_shift ;

<?

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:print_rکÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

Array

)

   ] 0 <= [2

   ] 1 <= [3

   ] 2 <= [4

   ] 3 <= [5

(

برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا:echoو نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه دسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتور

1

array_sliceتابع

برای تجزیه یک آرایه و دریافت قسمت خاصی از آن به عنوان خروجی اسÉتفاده می شÉود، این تÉابع حÉداکثر تÉاarray_sliceتابع

چهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉار آرگومÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉان بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرح زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر می پÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉذیرد:

-array.ی از آن را داریمÉÉÉÉÉمت خاصÉÉÉÉÉرش قسÉÉÉÉÉد بÉÉÉÉÉه قصÉÉÉÉÉت کÉÉÉÉÉه ای اسÉÉÉÉÉان آرایÉÉÉÉÉابع همÉÉÉÉÉان اول این تÉÉÉÉÉآرگوم :

-offsetایÉÉرش از انتهÉÉه بÉÉنقطه شروع برش را به صورت عددی مشخص می کند، در صورتی که این مقدار منفی باشد، نقط :

آرایÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه محاسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉبه می شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.

-lengthودÉÉر موجÉÉطول برش را مشخص می کند، در صورتی که طول برش از عناصر موجود در آرایه بیشتر باشد، تنها عناص :

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

-preserve_keys اگر با مقادیر : TRUEدÉÉماره کلیÉÉان شÉÉیر و همÉÉدون تغیÉÉروجی بÉÉتنظیم شده باشد، شماره کلیدها در آرایه خ

آرایÉÉÉÉÉه اصÉÉÉÉÉلی خواهÉÉÉÉÉد بÉÉÉÉÉود )در غÉÉÉÉÉیر این صÉÉÉÉÉورت شÉÉÉÉÉمارش از صÉÉÉÉÉفر شÉÉÉÉÉروع و بÉÉÉÉÉه انتهÉÉÉÉÉا ختم می شÉÉÉÉÉود(.

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: مث

?>php

$array = array('a', 'b', 'c', 'd', 'e');

$array_slice = array_slice($array, 3);

print_r($array_slice);

$array_slice = array_slice($array, 3, 1);

print_r($array_slice);

$array_slice = array_slice($array, -3, 2);

print_r($array_slice) ;

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی مثÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاال بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه صÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورت زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود:

Array

)

   ] 0 <= [d

   ] 1 <= [e

(

Array

)

   ] 0 <= [d

(

Array

)

   ] 0 <= [c

   ] 1 <= [d

(

array_spliceتابع

برای حذف قسمتی خاص از آرایه و جایگزینی آن با مقادیر جدید استفاده می شود، این تابع حداکثر می تواندarray_spliceتابع

چهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉار آرگومÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉان بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرح زیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر داشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته باشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد:

-array.ی از آن را داریمÉÉÉÉÉمت خاصÉÉÉÉÉذف قسÉÉÉÉÉد حÉÉÉÉÉه قصÉÉÉÉÉت کÉÉÉÉÉه ای اسÉÉÉÉÉان آرایÉÉÉÉÉابع همÉÉÉÉÉان اول این تÉÉÉÉÉآرگوم :

-offset ذف ازÉÉنقطه شروع حذف را به صورت عددی مشخص می کند، در صورتی که این مقدار مثبت باشد، نقطه ح : offset

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

-length د ازÉر بعÉداد از عناصÉان تعÉه همÉود، بÉاین پارامتر در اینجا رفتاری متفاوت دارد، اگر با مقادیر مثبت تنظیم ش : offset

offset باشد، در حذف عناصر، الویت بÉÉا length بزرگتر یا مساوی offsetحفظ و مابقی حذف می شوند )در صورتی که مقادیر

با مقادیر منفی تنظیم شود، رفتار آن به انتهای آرایه معطوف می شود )بÉÉرای درک  نادیده گرفته می شود(، اگرlengthاست و

از آنهÉÉÉÉÉÉÉا خÉÉÉÉÉÉÉروجی بگیریÉÉÉÉÉÉÉد(.print_rبهÉÉÉÉÉÉÉتر می توانیÉÉÉÉÉÉÉد چنÉÉÉÉÉÉÉد مثÉÉÉÉÉÉÉال فرضÉÉÉÉÉÉÉی بنویسÉÉÉÉÉÉÉید و بÉÉÉÉÉÉÉا

-replacementاتÉÉه تنظیمÉÉورتی کÉÉوند، در صÉÉاگر این پارامتر تنظیم شود، مقادیر حذف شده با مقادیر جدید جایگزین می ش :

offset به گونه ای باشد که مقادیری از آرایه اصلی حذف نشود، در این حالت مقادیر جدید بÉÉر اسÉÉاس length و offsetقسمت

یا از پیش تعریف شده نیستند و لذا شÉÉمارش از صÉÉفر شÉÉروع وpreserveبه آرایه اصلی اضافه می شوند )کلیدها در این حالت

بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه انتهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا ختم می شÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود(.

ندارد، لذا آشنایی در حد اولیه بÉÉا آن کÉÉافی خواهÉÉدPHPنکته: به نظر این تابع رفتار خیلی مشخص و یکسانی در تمام نسخه های

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود! ب

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉال: مث

?>php

$array = array('a', 'b', 'c', 'd', 'e');

$array_splice = array_splice($array, 3);

print_r($array_splice);

$array_splice = array_splice($array, 2, 1);

print_r($array_splice);

<?

خÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉروجی:

Array

)

   ] 0 <= [d

   ] 1 <= [e

(

Array

)

   ] 0 <= [c

(

array_sumتابع

بÉÉÉÉÉÉرای محاسÉÉÉÉÉÉبه حاصÉÉÉÉÉÉل جمÉÉÉÉÉÉع مقÉÉÉÉÉÉادیر عÉÉÉÉÉÉددی یÉÉÉÉÉÉک آرایÉÉÉÉÉÉه کÉÉÉÉÉÉاربرد دارد، مثÉÉÉÉÉÉال:array_sumتÉÉÉÉÉÉابع

?>php

$array = array(1, 4, 6);

$array_sum = array_sum($array);

echo $array_sum;

<?

خواهÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉود.11کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه نتیجÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه برابÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉر

این مبحث را در آموزش های بعدی همچنان ادامه خواهیم داد.

PHP « آموزش مقدماتی دسته بندی:

PHP برچسب ها:

قبلی «

» بعدیمطالب بیشتر:  - بخش اولphpتوابع کار با آرایه در  «PHPآشنایی با برنامه نویسی به زبان  « - بخش دومphpتوابع کار با آرایه در  «php( محاسبه و مقایسه در Operatorsعملگرهای ) «php( در Variablesآشنایی و کار با متغیر ها ) «

یادداشت برای این مطلب ارسال شده است(۱۸نظرات )

فاطمه نویسنده:

۱۳۹۳/۰۹/۳۰تاریخ: - ۱۵:۵۷:۲۷زمان:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

ببخشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉید این قسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉمت دقیقÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉا چیکÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉار میکنÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه؟

while($info=$agentCon->fetch_assoc()):

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

در اینجا بÉÉه صÉÉورت خودنوشÉÉت )توسÉÉط برنامÉÉه نÉÉویس(fetch_assocبرای درک این تکه کد باید با شی گرائی آشنا باشید، متد

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

می شود.

علی نویسنده:

۱۳۹۳/۱۰/۰۵تاریخ: - ۲۳:۴۹:۰۲زمان:

سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم خسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته نباشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉی

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

منظÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉورم فیلÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتر کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉردن کلمÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉات بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد هسÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉتش

این کÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد رو نگÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉاه کنیÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉد

//Prepare the insertion

$stmt = $this->db->prepare(sprintf("INSERT INTO `chat` (`from`, `to`,

`message`, `read`, `time`) VALUES ('%s', '%s', '%s', '%s',

CURRENT_TIMESTAMP)", $this->db->real_escape_string($this->id), $this->db-

>real_escape_string($uid), $this->db-

>real_escape_string(htmlspecialchars($message)), 0));

مونÉÉÉÉÉÉÉÉÉÉدم چطÉÉÉÉÉÉÉÉÉÉوری این کÉÉÉÉÉÉÉÉÉÉد رو بÉÉÉÉÉÉÉÉÉÉا کÉÉÉÉÉÉÉÉÉÉد بÉÉÉÉÉÉÉÉÉÉاال مخلÉÉÉÉÉÉÉÉÉÉوط کنم کÉÉÉÉÉÉÉÉÉÉه جÉÉÉÉÉÉÉÉÉÉواب بÉÉÉÉÉÉÉÉÉÉده

$originals = array("Bad1", "Bad2", "Bad3");

$replacements = array;("****", "****", "****")

$message = str_ireplace($originals, $replacements, $message);

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

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

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

قرار دهید! بÉÉا توجÉÉه بÉÉه اسÉÉتفاده مسÉÉتقیم از متغÉÉیرstmtطبق تکه کد درج شده، کافی است قسمت دوم کدها را قبل از متغیر

message،دÉÉدر کدها، می توان قبل از درج در دیتابیس مقدار آن را به راحتی تغییر داد و این کار با روش باال باید امکانپذیر باش

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

مهدي نویسنده:

۱۳۹۳/۱۰/۲۲تاریخ: - ۰۲:۱۳:۳۹زمان:

( است که بعد از ارسالsmsسالم. کد زير خروجي دريافت پيام ورودي وب سرويس )

getrecievemessage($params)(

بÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه سÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉرور نشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉون داده ميشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉه

stdClass Object ( [GetReceiveMessagesResult] => stdClass Object ( [Messages]

=> Array ( [0] => stdClass Object] ) MessageID <= [26830891 [RecipientNumber]

=> 500012***2165 [SenderNumber] => 09390****58 [Body]] . سرویس => وب تست سالم

ReceiveDate <= [1420895802] ( 1 <= [stdClass Object(...)

[ هسÉÉÉÉÉÉÉÉÉÉÉت رو بگÉÉÉÉÉÉÉÉÉÉÉيرم؟bodyمن چطÉÉÉÉÉÉÉÉÉÉÉور ميتÉÉÉÉÉÉÉÉÉÉÉونم از داخÉÉÉÉÉÉÉÉÉÉÉل اين ، مثال متن پيÉÉÉÉÉÉÉÉÉÉÉام کÉÉÉÉÉÉÉÉÉÉÉه ]

يعÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉني مثال داشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉته باشÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉم

$body=[body]

هسÉÉÉÉÉÉÉت؟php کÉÉÉÉÉÉÉه بÉÉÉÉÉÉÉاال نوشÉÉÉÉÉÉÉته بÉÉÉÉÉÉÉه ارايÉÉÉÉÉÉÉه هÉÉÉÉÉÉÉا مربوطÉÉÉÉÉÉÉه يÉÉÉÉÉÉÉا مبحث جÉÉÉÉÉÉÉدايي از objectاون

خيلي ممنون

 پاسخ:

ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉالم س

نیز مربوط است، متاسفانه صÉÉرف درجstdClass و کالس PHPخیر این صرفا به آرایه ها مربوط نیست، به بحث شی گرائی در

خروجی بدون دیدن سورس کدهای اصلی و تست برای ارائه پاسخ کافی نیست.