PDA

View Full Version : مبتدی: sort 1-20



A.Del Piero
سه شنبه 11 آبان 1395, 17:31 عصر
سلام
میخوام فایل های 1 فولدر رو بخوانم اسم فایل ها 1تا 100 هست وقتی sort میشه به این صورت میاد :
1-10-11-12-13-14-15-16-17-18-19-2-20- ...
ولی میخوام به صورت صحیح یعنی 1-20 نمایش داده بشه یعنی بعد از 1 عدد 2 بیاد نه عدد 10 از تابع های sort هم استفاده کردم فایده نداشت(اسم فایل ها فقط عدد نیست که با 1 for بشه کشیدشون باید اسم فایل ها خوانده شود)
ممنون میشم راهنمایی کنید

lizard.tiny
سه شنبه 11 آبان 1395, 18:48 عصر
سلام

این کد رو برسی کنید : http://pastecode.ir/?p=764

A.Del Piero
سه شنبه 11 آبان 1395, 23:31 عصر
ممنون که جواب دادید
ارایه مرتب هست فقط مشکل اینه که اسم فایل ها استرینگ هست و به جای 01 نوشته شده 1 برای همین در حالی که در فولدر مرتب هست ولی در php این حالت پیش میاد

i-1-1
i-10-1
i-2-1

یعنی 10 کوچک تر از 2 در نظر گرفته میشه

lizard.tiny
سه شنبه 11 آبان 1395, 23:34 عصر
ممنون که جواب دادید
ارایه مرتب هست فقط مشکل اینه که اسم فایل ها استرینگ هست و به جای 01 نوشته شده 1 برای همین در حالی که در فولدر مرتب هست ولی در php این حالت پیش میاد

i-1-1
i-10-1
i-2-1

یعنی 10 کوچک تر از 2 در نظر گرفته میشه
.
توی اسم همه پوشه ها عدد هست ؟ ملاک مرتب کردن میخوایید فقط اعداد موجود در اسم پوشه ها باشه ؟

A.Del Piero
سه شنبه 11 آبان 1395, 23:42 عصر
بله دقیقا همین حالت هست

lizard.tiny
سه شنبه 11 آبان 1395, 23:51 عصر
اینو برسی کنید : http://pastecode.ir/?p=778

A.Del Piero
چهارشنبه 12 آبان 1395, 00:02 صبح
ممنون خیلی لطف کردید

A.Del Piero
چهارشنبه 12 آبان 1395, 00:35 صبح
بعد از سرت کردن و اکو کردن محتوا درست نمایش داده میشه ولی وقتی میخوام به دیتابیس وارد کنم باز همون حالت قبل وارد میشه اطلاعات
دلیلش هم اینه هست که اندیس های آرایه رو تغییر نمیده فقط جا به جاشون میکنه یعنی
[5]=>
string(13) "i_1_6.mp3"
[80]=>
string(13) "i_2_1.mp3"

از اندیس 5 میپره به 80 ولی تو ادو ، پرینت یا وردمپ درست نمایش میده برای همین تو ورود اطلاعات به دیتابیس باز همون مشکل وجود داره

A.Del Piero
چهارشنبه 12 آبان 1395, 09:44 صبح
بعد از natsort از array_values استفاده کنیم درست میشه