نقل قول: پیدا کردن اعداد متوالی
سلام ،
عناصر را در آرایه قرار بدین و با تابع sort مرتب کنید ، برای اطلاعات بیشتر اینجا را ببینید :
http://www.w3schools.com/php/php_arrays_sort.asp
اگر میخواهید خودتون تابع بنویسید ، الگوریتم های مرتب سازی را میتونید سرچ کنید.
نقل قول: پیدا کردن اعداد متوالی
نقل قول:
نوشته شده توسط
smksmk
نمیخوام مرتب سازی کنم میخوام اعداد متوالی رو جداسازی کنم همین انواع مرتب سازی رو میدونم
نقل قول: پیدا کردن اعداد متوالی
خب یه متغیر برابر آخرین عدد متوالی یافت شده بذار، یه متغیر هم روی آرایه پیمایش کنه. هر وقت برابر یا بیشترش رو پیدا کرد، اون به لیست اعداد متوالیت اضافه کن و متغیرها رو آپدیت کن.
شاید منظورت چیز دیگه ای باشه که متوجه نشدم.
برای دسته بندی معیار دسته بندیت چیه؟
نقل قول: پیدا کردن اعداد متوالی
نقل قول:
نوشته شده توسط
vahid-p
خب یه متغیر برابر آخرین عدد متوالی یافت شده بذار، یه متغیر هم روی آرایه پیمایش کنه. هر وقت برابر یا بیشترش رو پیدا کرد، اون به لیست اعداد متوالیت اضافه کن و متغیرها رو آپدیت کن.
شاید منظورت چیز دیگه ای باشه که متوجه نشدم.
برای دسته بندی معیار دسته بندیت چیه؟
خب میتونید بصورت عملی انجام بدید میخوام اون اعداد رو جدا کنم من یک دیتابیس رزرو دارم باید زمان رو بنویسم مثلا امروز از ساعت 1-5 هست من هر ساعت رو جدا ذخیره کردم برای همین خروجی که میگیرم فقط اعداد هست حالا میخوام به اون صورت در بیارم و جدا بنویسم
نقل قول: پیدا کردن اعداد متوالی
دوست عزیز این تابعی که نوشتم کار شما رو راه میندازه:
$array = [1,2,3,5,6,8,9,10,11,100,101,102,200];
print_r(u_sort($array));
function u_sort($arr)
{
$nsort = $arr;
$temparray = [];
if(count($nsort) == 0)
{
return $nsort;
}
$i = 0;
$j = 0;
while(count($nsort)>0)
{
if(count($nsort)==1)
{
array_push($temparray,[$nsort[0]]);
break;
}
if($i == 0 )
{
array_push($temparray,[$nsort[$i]]);
$i++;
continue;
}
if($nsort[$i] == ($temparray[$j][$i-1]+1))
{
array_push($temparray[$j],$nsort[$i]);
$i++;
}
else
{
array_splice($nsort,0,$i);
$j++;
$i=0;
}
}
return $temparray;
}
اما چجوری ازش استفاده میشه
شما ابتدا بیا اعدادت رو تو یه ارایه قرار بده بعد با استفاده از تابع sort اونارو مرتب کن
بعد ارایه مرتب شده رو به تابعی که نوشتم u_sort بفرست تابع خروجیش یه آرایه انجمنی هستش که
هر عنصرش اعداد پشت سر هم رو تو خودش گذاشته
مثلا شما ارایه
$array = [1,2,3,5,6,8,9,10,11,100,101,102,200,300];
رو به تابع میدید و آرایه انجمنی زیر رو تحویل میگیرید:
Array(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 5
[1] => 6
)
[2] => Array
(
[0] => 8
[1] => 9
[2] => 10
[3] => 11
)
[3] => Array
(
[0] => 100
[1] => 101
[2] => 102
)
[4] => Array
(
[0] => 200
)
)
اینم نمونش همراه با اجراش:
http://phpbin.ir/?tryit=2240