PDA

View Full Version : سوال: استفاده از break یا continue درحلقه



soroush.r70
جمعه 24 آبان 1392, 19:53 عصر
دوستان من یه تابعی به صورت زیر دارم آیا لازمه از break یا continue استفاده کنم آیا تابع من بهینه تر می شه ازشون استفاده کنم یه توضیحی در مورد break یا continue می دین که چه موقع و به چه صورت استفاده کنم آیا اصلا لازمه استفاده بشه ...؟

نکته : من از pdo برای کار با دیتابیسم استفاده می کنم


function slider()
{
$class=new content;
$class->query('select * from `tbl_slider` order by `id` desc ');
$row=$class->resultset();
foreach($row as $key => $value)
{
echo'
<li style="slidedelay: 5000; transition2d: 92,93,105;" > <img src="'.upload.''.$row[$key]['pic'].'" alt="" />
<div class="wrapper">
<div class="caption lfb huge" data-x="center" data-y="100" data-speed="900" data-start="100" data-easing="easeOutSine">دردست ساخت</div>
<div class="caption lft p-text-slider-2" data-x="center" data-y="200" data-speed="900" data-start="900" data-easing="easeOutSine">سایت در دست ساخت می باشد</div>
<!--<a href="#" class="caption sfr b-slider" data-x="20" data-y="410" data-speed="300" data-start="1400" data-easing="easeOutExpo">اطلاعات بیشتر</a>-->
</div>
</li>
';
}
}

Veteran
جمعه 24 آبان 1392, 20:13 عصر
break برای خارج شدن از حلقه در مواقعی خاص هست که خودتون با یک شرط تعیین میکنین
مثلا در کد زیر هنگامی که به عدد 8 برسیم حلقه شکسته میشه با دستور break و دیگه از حلقه خارج میشه

for($i=1;$i<=10;$i++){
if($i==8){
break;
}else{
echo $i . '<br>';
}
}
continue هم توی حلقه میتونه رد بکنه
یعنی در کد زیر عدد 8 چاپ نمیشه و پرش میکنه و میره شماره بعدی


for($i=1;$i<=10;$i++){
if($i==8){
continue;

}
echo $i . '<br>';

}

و بهینه کردن کاری نداره/اگر بگین میخواین چیکار کنین دقیقا میشه بهتر راهنمایی کرد

SlowCode
جمعه 24 آبان 1392, 20:15 عصر
فکر نمیکنم تو این کد به continue , break نیازی داشته باشی.
یه مثال میزنم. فرض کن میخواییم الگوریتم جستجوی خطی رو خودمون پیاده سازی کنیم.
داخل یه حلقه میاییم یکی یکی عناصر ارایه رو بررسی میکنیم، هر وقت اون مقدار رو پیدا کردیم دیگه نیازی نیست که بقیه رو بررسی کنیم پس با break از حلقه خارج میشیم.
continue هم به گام فعلی حلقه رو تموم میکنه و به گام بعدی میره(پس کدهایی که بعد continue نوشته میشن اجرا نمیشن)

این دوتا داخل شرط ها استفاده میشن.