article

حلقه for و while در php

php-for-while-loop

در مطالب قبلی از بخش آموزش مقدماتی php، تا حدود زیادی مسیرمان را به سمت یادگیری این زبان پرکاربرد در برنامه نویسی وب هموار کردیم، پس از آشنایی با متغیرها، عملگرهای محاسبه و مقایسه، دستورات شرطی if و else و نحوه کار با switch و case، این بار نوبت به آموزش حلقه های for و while در php است؛ از آنجایی که اصولا حلقه ها در زبان های برنامه نویسی و به طور خاص در برنامه نویسی به زبان php، کاربرد فراوان دارند، یادگیری و درک این بخش می تواند به روند پیشرفت آموزش، بسیار کمک کند، در ادامه خواهیم گفت که چرا و چگونه باید از آنها در کدنویسی خود استفاده کنیم.

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


در برنامه نویسی php (و شاید در اکثر زبان های برنامه نویسی)، از حلقه ها (Loops) برای گرفتن خروجی در یک دور تکرار، با مقادیر متفاوت استفاده می شود، البته این بحث بی شباهت با توابع نیست، ولی حلقه (Loop)، چند فرق اساسی با تابع (Function) دارد، از جمله اینکه در حلقه در هر دور، معمولا یک خروجی به مرورگر ارسال می شود، در حالی که تابع در هر بار فراخوانی معمولا تنها یک خروجی ارسال می کند (مگر اینکه درون تابع از حلقه استفاده شود)، از طرفی حلقه ها متاثر از شرایط بیرون و درون خود رفتار می کنند، اما توابع تنها ممکن است چند ورودی از بیرون دریافت کنند، ولی در نهایت پردازش را با توجه به الگوی خود انجام می دهند؛ به هر صورت از بحث تئوری که بگذریم، در یک مثال ساده کاربرد حلقه در php مثل این است که به فرض به جای اینکه 10 بار یک عدد را به فرض با اعداد 1 تا 10 جمع کنیم (یعنی برای هر بار یک کد بنویسیم و خروجی بدهیم)، در یک حلقه، ده دور عمل جمع را با مقادیر و خروجی متفاوت تکرار می کنیم، یا تا زمانی که حاصل جمع ما به 10 نرسیده است، تکرار را در حلقه ادامه می دهیم.

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


چند نوع حلقه در php وجود دارد که با به حساب آوردن همه آنها، می توان تعداد حلقه در php را در چهار دسته خلاصه کرد؛ حلقه while و زیر مجموعه آن یعنی do while، حلقه for وهم خانواده آن یعنی foreach، حلقه while یک دور حلقه را تا زمانی که شرطی (condition) درست (true) باشد، تکرار می کند، زیر مجموعه آن یعنی do while نیز ساختاری شبیه به while دارد، با این تفاوت که ابتدا، دور حلقه do یک بار اجرا می شود و سپس شرط while بررسی می گردد، حلقه for برعکس while، درون خود شرطی را بررسی می کند و تا زمانی که شرط درست باشد، تکرار را ادامه می دهد، هم خانواده آن یعنی foreach نیز برای کار با آرایه ای از اطلاعات و متغیرها کاربرد دارد، در حالت معمول استفاده از for کفایت می کند، اما زمانی که می خواهید به فرض اطلاعات را از پایگاه داده خروجی بگیرید یا با یک فرم با قابلیت انتخاب فیلدهای چندگانه کار کنید، باید حتما از foreach استفاده نمائید، چرا که داده های شما به صورت آریه ای از اطلاعات هستند و باید با کلید و مقدار، جداگانه و تک به تک مقایسه و خروجی داده شوند، در ادامه به طور مفصل تر در مورد کاربرد حلقه ها خواهیم گفت.

حلقه while در php


ساختار حلقه while در php به اینصورت است که با بررسی یک شرط، تا هر زمان که مقدار برگردانده شده توسط آن درست (true) باشد، مقادیر داخل {} اجرا می شود، در مثال ساده زیر، یک حلقه را تا زمانی که تعداد کاربران به 5 نرسیده ادامه داده ایم و خروجی فرضی از آن گرفته ایم.
<?php
//مقادیر پیش فرض برای متغیر
$users = 5;
//حلقه while
while ($users > 0){
    echo "کاربر شماره $users <br />";
    $users--;
}
?>
خروجی کد بالا به صورت زیر خواهد بود.
کاربر شماره 5 
کاربر شماره 4
کاربر شماره 3
کاربر شماره 2
کاربر شماره 1
توضیح:
- ابتدا برای متغیر فرضی users یک مقدار پیش فرض قرار می دهیم تا بعدا در حلقه while یک شرط برای آن تعیین کنیم.
- سپس در قسمت مربوط به حلقه while، بررسی می کنیم، تا زمانی که مقادیر متغیر users بزرگتر از صفر باشد، کد داخل {} اجرا شود.
- درون حلقه یک دستور خروجی echo نوشته ایم که در هر دور (loop)، مقادیر را چاپ می کند و در قسمت آخر، در هر دور حلقه یک واحد از متغیر users کاسته می شود و این کار تا زمانی که مقادیر این متغیر بزرگتر از صفر، یعنی یک است، ادامه می یابد.
- دقت کنید، چون متغیر فرضی ما در این مثال یک عدد بود، می توانیم بر روی آن اعمال ریاضی مثل جمع، تفریق و... را انجام دهیم، در برنامه نویسی سطح بالاتر، موقعیت هایی پیش می آید که انواع متفاوتی از داده ها را باید با توجه به نوع آنها بررسی کنیم.

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


<?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، کاربرد های خاص خودش را دارد.

حلقه do while در php


گاهی مواقع در دنیای برنامه نویسی وب با php، پیش می آید که بخواهیم یک حلقه را ابتدا یک بار خروجی دهیم (چه شرطی درست باشد و چه نباشد)، سپس بررسی کنیم که آیا شرایط ادامه حلقه مهیا است یا خیر، مفسر php بدین منظور از ساختار do while که بسیار شبیه while معمولی است بهره می گیرد، در do while دور اول حلقه، بدون هیچ پیش شرطی اجراء می شود، اما دورهای بعد مثل این است که به روال عادی حلقه while بازگشت کنیم، مثال زیر روشن است.
<?php
//مقادیر پیش فرض برای متغیر
$users = 0;
do{
    echo "کاربر شماره $users خوش آمدید<br />";
    $users--;
}
//حلقه while
while ($users > 0);
?>
مثال بالا با وجود اینکه در قسمت شرط while گفته ایم که تازمانی که متغیر users از صفر بزرگتر باشد و مقادیر این متغیر هم صفر است، اما خروجی زیر به مرورگر ارسال می شود.
کاربر شماره 0 خوش آمدید

حلقه for در php


استفاده از for در php نوعی دیگر از حلقه ها را شکل می دهد، از حلقه for زمانی استفاده می کنیم که بخواهیم به فرض به تعداد مشخصی دور تکرار، بدون وابستگی به شرایط بیرون حلقه داشته باشیم، در واقع ساختار حلقه ها در php (و در دیگر زبان های برنامه نویسی مشابه)، شباهت های زیادی به هم دارند، اما به منظورهای متفاوتی ایجاد شده اند، در حلقه while، معمولا بخش اصلی شرایط درست یا نادرست شدن یک شرط، در بیرون از حلقه اتفاق می افتد، اما در حلقه for تمام این اتفاقات در درون پارامترهای خود حلقه شکل می گیرد، اجازه بدهید موضوع را با یک مثال روشن کنیم.
<?php
//حلقه for
for ($users=1; $users <= 3; $users++){
    echo "کاربر شماره $users <br />";
}
?>
مثال بالا، خروجی زیر را تولید خواهد کرد.
کاربر شماره 1 
کاربر شماره 2
کاربر شماره 3
توضیح:
- شیوه نگارش یا syntax حلقه for با while کمی متفاوت است، حلقه for در سه عبارت (expression)، ساختار اصلی خود را شکل می دهد، عبارت اول، همان مقادیر پیش فرض برای یک متغیر است، عبارت دوم، تعیین شرط برای خاتمه حلقه است و عبارت آخر، تغییرات مقادیر متغیر در هر دور حلقه است.
- عبارت users در مثال بالا، کاملا فرضی و انتخابی است، معمولا از عبارت i بدین منظور استفاده می کنند.
- دقت کنید که در برنامه نویسی، حلقه هایی که می نویسید، باید در یک مرحله ای به پایان برسند، اگر بررسی شرط حلقه همیشه درست (true) باشد، دور تکرار آن تا بی نهایت ادامه می یابد و این سبب ایجاد یک باگ یا نقض بزرگ در برنامه شما و نهایتا باعث از کار افتادن مرورگر کاربر یا سرور خواهد شد.
در مثال زیر، یک اشتباه عمدی کرده ایم و حلقه را تا بی نهایت ادامه داده ایم، با کمی دقت متوجه خواهید شد.
<?php
//حلقه for تکرار تا بی نهایت!
for ($i=0; $i >= 0; $i++){
    echo "کاربر شماره $i <br />";
}
?>

حلقه foreach در php


نوع دیگری از حلقه های هم خانواده با for با نام foreach برای کار با مقادیر آرایه ها کاربرد دارد، در برنامه نویسی وب، برخی ویژگی ها، ناگزیر به صورت آریه ای از اطلاعات قابل کنترل و پردازش هستند، به عنوان مثال، وقتی در فرم های html، یک فیلد با قابلیت انتخاب چند مقدار را ارسال می کنید، باید برای هر مقدار، یک بار پردازش در سرور انجام شود، تا تفکیک داده ها از هم میسر گردد، این کار در php با foreach انجام می شود، foreach در هر دور حلقه، یک کلید و مقدار از آرایه را پردازش می کند تا زمانی که شرایط ادامه دادن دور حلقه، درست یا 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، خوش آمدید
توضیح:
- حلقه foreach از دو شیوه نگارش (syntax) پشتیبانی می کند، هم به صورت:
$array as $user
و هم به صورت:
$array as $key => $user
- هر مقدار از آرایه ها، در هر دور حلقه، به عنوان ورودی دریافت می شوند و پس از اعمال پردازش تعیین شده، نوبت به عنصر بعدی می رسد، در مثال بالا، آرایه ما دارای چهار مقدار است، پس دور حلقه  foreach برای هر کدام، یک بار اجرا خواهد شد (for به معنی برای و each به معنی هر).
- درک صحیح نحوه عملکرد حلقه foreach، نیازمند آشنایی با مبحث آرایه ها در php است، لذا در اینجا به همین مقدار بسنده می کنیم.
sectionدسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
» عملگرهای (Operators) محاسبه و مقایسه در php
» توابع (Functions) در php
» توابع کار با آرایه در PHP - بخش سوم
» دستورات شرطی if و else در php
» آرایه (Array) در برنامه نویسی php
commentنظرات (۲۷ یادداشت برای این مطلب ارسال شده است)
نویسنده: امین
زمان: ۱۴:۱۲:۲۲ - تاریخ: ۱۳۹۲/۰۳/۲۲
سلام و خسته نباشید
چطوری میشه از دیتابیس ایمیل ها رو اینجوری انتخاب کنه:
mysql_query("SELECT email FROM mytable WHERE status='1'")
که تو دیتابیس ایمیل اونایی که status آنها برابر 1 است را انتخاب کند و همه را نشان دهد به این صورت:
email1@site.com, email2@site2.com ,...
پاسخ: 
سلام
بخش اصلی پرس و جو را نوشته اید، کافی است در حلقه 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;
?>
نویسنده: ابوالفضل
زمان: ۱۶:۰۸:۰۹ - تاریخ: ۱۳۹۲/۰۴/۰۶
بینهایت ازتون سپاسگذارم...
نویسنده: yahya
زمان: ۱۲:۵۸:۴۹ - تاریخ: ۱۳۹۲/۰۵/۰۳
با سلام و تشکر از زحمات بی دریغ شما
من یک کد به صورت زیر دارم
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 شدن شرط، حلقه اصلی را به پایان می بریم.
نویسنده: yahya
زمان: ۱۵:۱۹:۳۴ - تاریخ: ۱۳۹۲/۰۵/۰۴
با سلام مثل این که سوالم را صحیح مطرح نکرده ام.
من در این کد نیاز دارم که با برقرار شدن شرط از حلقه دوم خارج شوم به طوری که ادامه حلقه اول که بعد از حلقه دوم آمده اجرا نشود و به ابتدای حلقه اول بازگشته و حلقه اول ادامه یابد.
مثلا اگر حلقه اول در وضعیت i=2 باشد بعد از برقراری شرط در حلقه دوم، اولین خطی که اجرا شود حلقه اول با i=3 باشد.
پاسخ: 
سلام
برای این کار باید یک حالت وضعیتی فرضی تعریف کنید و دستورات ادامه حلقه اصلی را با شرط برقرار بودن وضعیت حلقه دوم اجرا یا نادیده بگیرید، مثال:
<?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
مشخص است که در اولین دور i=0 است، در اولین دور حلقه دوم r=0 است، لذا i == r برقرار است، عدد 1 چاپ می شود، حلقه دوم break شده و نوبت به چاپ عدد 2 نمی رسد، چون status برابر FALSE است، لذا عدد 3 نیز چاپ نمی شود، در دور دوم حلقه اصلی، i=1 است، در دور اول حلقه دوم، r=0 است، لذا i==r برقرار نیست، عدد 2 چاپ می شود، حلقه دوم به ابتدای خود برگشته و r=1 می شود، لذا i==r برقرار است، عدد 1 چاپ شده و چون status برابر FALSE می شود، مانند اولین دور حلقه اصلی، عدد 2 و 3 چاپ نمی شوند و این چرخه تا زمانی که دور حلقه اصلی دوام دارد، به همین منوال ادامه پیدا می کند.
نویسنده: yaser
زمان: ۱۹:۵۴:۲۴ - تاریخ: ۱۳۹۲/۰۵/۰۹
سلام. من با php و mysql می خوام 5 تا مطلب از یک موضوع را با شماره نشون بدم مثل کد زیر:
1-متن 1
2-متن 2
پاسخ: 
سلام
سوالتان کامل نیست، لطفا به آموزش های بخش SELECT در MySQL مراجعه نمائید.
نویسنده: sahar
زمان: ۰۰:۰۹:۲۲ - تاریخ: ۱۳۹۲/۰۶/۰۹
سلام و خسته نباشید
توی دیتابیس جدولی دارم که یکسری کد رو که کاملا یکتا هستند و نمیتونن تکراری باشن رو نگهداری میکنه حالا میخوام از توی این جدول با یک حلقه تک تک این کدها رو فقط یک بار انتخاب کنم تا یکسری پردازش و کارهایی روش انجام بدم و باید روی همه این کدها این پردازش ها انجام بشه حالا حلقه ای که نوشتم هر کد رو چند بار انتخاب می کنه چکار کنم فقط یکبار هر کد انتخاب بشه؟
پاسخ: 
سلام
هر ستون باید یک شماره id اختصاصی داشته باشد و در حلقه یک متغیر قرار دهید که در هر دور یک مقدار افزایش یابد، این متغیر را در پرس و جوی خود در قسمت WHERE به عنوان شماره آی دی استفاده کنید.
راه حل بهتر این است که یک بار کل نتایج را استخراج کرده و در حلقه while به صورت تک تک بر روی آنها پردازش ها را انجام دهید.
نویسنده: sahar
زمان: ۰۰:۳۱:۳۱ - تاریخ: ۱۳۹۲/۰۶/۱۱
واقعا ممنون از کمکتون ایشالله خدا همیشه هواتون رو داشته باشه همونجوری که شما تا جایی که می تونید دست بقیه رو می گیرید.
اون راهنمایی رو انجام دادم اما فرقی نکرد. من یه مشکل دیگه هم دارم اونم اینه که توی این حلقه یه حلقه دیگه هم دارم که هر وقت به جواب رسید باید از این حلقه داخلی خارج بشه من این کار رو با break انجام دادم اما نتیجه نگرفتم. راستش هر کاری رو این کدها انجام میدم نتیجه اش حتی یه تغییر کوچیک هم نمیکنه!!!حتی واسه امتحان حلقه اصلی رو برداشتم اما بازم همون جوابی رو گرفتم که هر بار می گیرم!!
این موضوع پروژمه که باید همین چهارشنبه تحویل بدم اما درست اجرا نمیده...
ببخشید خیلی حرف زدم
پاسخ: 
خواهش می کنیم، ببینید شما از کدهایی حرف می زنید که ما هیچ تصور روشنی از آنها نداریم!، در صورت تمایل می توانید فایل هایتان را با ذکر جزئیات دقیق مشکل از طریق ایمیل (در بخش تماس با ما موجود است) ارسال کنید تا بررسی شوند.
نویسنده: sahar
زمان: ۱۸:۵۱:۳۱ - تاریخ: ۱۳۹۲/۰۶/۱۱
واقعا ممنون. همین الان براتون با توضیحات کامل میفرستم.
سایتتون محشره. اصلا یه دونست
نویسنده: امیرحسین
زمان: ۲۲:۰۸:۱۱ - تاریخ: ۱۳۹۲/۰۶/۱۵
سلام استاد مهربان خسته نباشید
یه سوال خیلی کوچیک داشتم
<?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
نویسنده: میثم
زمان: ۱۵:۱۹:۰۸ - تاریخ: ۱۳۹۲/۰۶/۲۶
سلام.
از شما به خاطر ارائه این آموزش تشکر می کنم.
یه سوال داشتم.
چطور میشه توی حلقه while کدی نوشت که Loop ها با فاصله زمانی اجرا بشن. به عبارت دیگه یه دور اجرا بشه و بعد از مثلا 10 ثانیه دور بعدی اجرا بشه و .... تا اینکه شرط حلقه while به پایان برسه؟
پاسخ: 
سلام
انجام این کار با PHP توصیه نمی شود، PHP یک زبان سمت سرور است و معمولا باید بلافاصله پس از اجرای کدها، خروجی را به مرورگر ارسال کند، روش توصیه شده استفاده از جاوا اسکریپت و آژاکس (Ajax) برای موارد اینچنین است، با این حال می توانید از تابع sleep در PHP استفاده کنید (در این صورت نیاز است که output_buffering را خاموش کنید)، مثال:
<?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();
}
?>
نویسنده: میثم
زمان: ۲۰:۰۶:۱۶ - تاریخ: ۱۳۹۲/۰۶/۲۶
ممنون. دستتون درد نکنه. کارم راه افتاد.
نویسنده: میثم
زمان: ۲۰:۲۴:۴۸ - تاریخ: ۱۳۹۲/۰۶/۲۶
از آموزشتون ممنونم. هاست من اجازه استفاده از تابع sleep رو نمی ده.
ببخشید می دونم که وقت شما رو هم می گیرم امکانش هست بفرمایید که چطور میتونم با جاوا یا آژاکس به هدفم برسم؟
پاسخ: 
استفاده از جاوا اسکریپت و آژاکس نیازمند آشنایی قبلی است، به طور خلاصه می توانید از توابعی مانند setTimeout استفاده و با وقفه هایی، درخواست های آژاکسی را به سرور ارسال کنید، به جهت مفصل بودن مبحث، باید به آموزش های مربوطه مراجعه نمائید.
نویسنده: میثم
زمان: ۲۱:۳۴:۳۳ - تاریخ: ۱۳۹۲/۰۶/۲۷
از راهنمایی شما ممنونم.
نویسنده: علی
زمان: ۲۱:۳۹:۴۹ - تاریخ: ۱۳۹۲/۰۸/۲۲
با سلام
ببخشید من یک حلقه while تعریف کردم که هر زمان آن شرط برقرار شد حلقه for داخل حلقه while به پایان برسد حال سوال من این است که چگونه شمارنده در این حلقه تعریف کنم تا به من بگوید پس از برقراری شرط while حلقه چند بار تکرار شده تا به جواب رسیده است
ممنون
پاسخ: 
سلام
از حلقه هایی صحبت کرده اید که هیچ تصور روشنی از آنها نداریم!، لطفا به همراه سوال یک نمونه کد نیز قرار دهید، به نظر می توانید یک متغیر با نام فرضی loop و مقدار پیش فرض 0 در بیرون حلقه تعریف و درون حلقه با ++ مقدار آن را در هر دور افزایش دهید.
paged صفحه 1 از 2




more لطفا دقت کنید که یادداشت های زیر منتشر نشده و حذف خواهند شد:
- یادداشت های خارج از موضوع این مطلب.
- سوالات کلی، غیر ضروری و مشکلاتی که هیچ تلاشی برای رفع آن نکرده باشید.
- نظرات حاوی کدها و اسکریپت های خیلی طولانی (به طور مثال کد کامل قالب وبلاگ).

5 × 8
 refresh
آگهی
آموزش طراحی سایت
onliner.ir

فیلم های آموزشی رایگان
درگاه پرداخت
paypaad
استفاده از مطالب و خدمات «وبگو» رایگان است، درگاه پرداخت صرفا برای مواردی است که نیاز به پرداخت هزینه دارند.