PDA

View Full Version : سوال: مرتب كردن آرايه



king-net
سه شنبه 17 خرداد 1390, 02:00 صبح
درود من مي خوام نتيج آرايه رو آز آخر به اول مرتب كنم يعني يك آراي داريم به اين صورت :
[1] تست
[2] تست 1
[3] تست 2
[4] تست 3
من مي خوام كه يك آرايه جديد از همين آرايه به وجود بيارم اما برعكس اين آرايه به اينصورت :
[1] تست 3
[2] تست 2
[3] تست 1
[4] تست
ممنون اگه راهنمايي كنيد.
با سپاس.

colors
سه شنبه 17 خرداد 1390, 10:37 صبح
درود
دوست عزیز اگر طبق مقادیر کلیدها بخواهید عناصر آرایه رو مرتب کنید باید توسط لغت کلیدی KRSORT برای مرتب کردن عناصر آرایه به صورت معکوس عمل کنید.


krsort("array");


و اگر بخواهید طبق مقدار عناصر هر آرایه مرتب کنید بسگی به مقدار داره گه میتونین توسط لغت کلیدی RSORT عمل کنید

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

موفق باشید

MMSHFE
سه شنبه 17 خرداد 1390, 11:45 صبح
با سلام، اگه اصلاً مقادير براتون مهم نيستن و فقط ميخواين برعكس آرايه اصلي رو داشته باشين ميتونيد از كد زير استفاده كنيد:


$reverse=array_reverse($array);

موفق باشيد.

king-net
سه شنبه 17 خرداد 1390, 13:13 عصر
سپاس از دو دوستي كه پاسخ گو بودند.
من با آرايه ها به يك مشكل ديگه برخوردم.
من ميخواهم كه از 100 مقدار و كليدي كه تو آرايه هست فقط 10 تاش بمونه بقيش حذف شه

colors
سه شنبه 17 خرداد 1390, 13:16 عصر
ببخشید نگرفتم ؟
بیشتر توضیح بدید میخواید چکار کنید ؟
میخواید عناصر آرایه حذف بشه ؟

king-net
سه شنبه 17 خرداد 1390, 13:25 عصر
آرايه سد تا مقدار داره من مي خوام ااز اين سد تا ده تاي نخست رو داشته باشم تو آرايه يعني از 0 تا 100 فقط 0 تا 10 رو ميخوام تو آرايه داشته باشم و 11 تا 100 از آرايه حذف شوند.

colors
سه شنبه 17 خرداد 1390, 13:57 عصر
خوب زیاد پیچیده نیست
اول یه حلقه رو آرایه درست کن و تا 10 بار حلقه رو تکرار کن
به کد زیر دقت کن


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

echo $array[$i];

}

با کد بالا از 0 تا 9 آرایه رو میخونی که میشه 10 تای اولی
موفق باشید

king-net
سه شنبه 17 خرداد 1390, 14:04 عصر
نه ميدنم اينو . اما من كاري كه مي خوام به اينصورت هست.
1 . يك آرايه دارم كه 100 تا مقدار داره .
2 . مي خوام از سد تا نود تاش حذف شه و اين ده تا توي يك آرايه بمونه
3. اين آرايه رو بر عكس كنم
كه فقط مونده بخش دوم كه حل شه.
با سپاس

colors
سه شنبه 17 خرداد 1390, 14:18 عصر
دوست من اینم پیچیده نیست
با کدی که بالا دادم 10 عنصر اولی آرایه رو خوندی و توسط کد زیر 90 تای بقیه رو از بین ببر



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

unset($array[$i]);

}

توجه کن که قبلا ( داخل حلقه نه هاا ) توسط لغت کلیدی count تعداد آرایه ها رو برابر متغییر دلخواه ( که من count$ قرار دادم ) قرار بده و از اون متغیر در داخل حلقه استفاده کن
به این صورت جز 10 تای اولی هر تعداد عنصری در آرایه وجود داشته باشه از بین میره
موفق باشید

Mahdi.Spirit
سه شنبه 17 خرداد 1390, 14:34 عصر
خب اينطوري استفاده كن:


$input = array_slice($input, 0, 10);


http://www.php.net/manual/en/function.array-slice.php