مرتب سازی آرایه های چند متغیری و چند بعدی در php

۱ سال پیش(به روز شده در ۱ سال پیش) پی اچ پی(PHP)(توابع) ۰

تابع زیر مرتب سازی یک آرایه را با چندین مقدار برای هر ایندکس و آرایه چند بعدی را با اعمال محدودیت انجام میدهد. میتوانید با اندکی تغییر آنرا پیشرفته تر کنید!

function subval_sort($arr, $subkey, $lim = 0) {
    foreach ($arr as $k => $v) {
        $tmp[$k] = strtolower($v[$subkey]);
    }
 
    //arsort($tmp); مرتب سازی صعودی به نزولی
    asort($tmp);
 
    $i = 0;
    foreach ($tmp as $key => $val) {
        $res[] = $arr[$key];
        $i++;
 
        if ($i == $lim) {
            break;
        }
    }
 
    return $res;
}

مثال:

$arr = array(
    array('id' => 7, 'title' => 'text7'),
    array('id' => 6, 'title' => 'text6'),
    array('id' => 9, 'title' => 'text9'),
    array('id' => 1, 'title' => 'text1'));
$arr = subval_sort($arr, 'id', 2);
print_r($arr)

خروجی:

Array
(
    [0] => Array
        (
            [id] => 1
            [title] => text1
        )
    [1] => Array
        (
            [id] => 6
            [title] => text6
        )
)

منبع کمکی

صفحات پیشنهادی

جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی در php...

هر چند در php تابعی بنام number_format جهت انجام اینکار وجود دارد اما درج تابع دستی آن نیز خالی از لطف نیست....

نمایش نام با فرمت مناسب(گسترش تابع ucwords)...

تابع ucwords برای بزرگ کردن حروف ابتدای کلمات یک رشته بکار می رود. البته زمانی این تابع کاربرد دارد که فاصله بین کلمات فضای خالی باشد(مثلا خط تیره را نیز جز کلمه بحساب می آورد). حال زمانیکه فاصله بین ...

نسخه بهتر شده تابع parse_str در php...

در تابع ()parse_str تبدیل آرایه ها بدرستی انجام نمیشود به همین خاطر نیاز هست تا تابع قدرتمندتری استفاده نمود. تابع معرفی شده بصورت کامل یک رشته کوئری ورودی را به متغیرها و آرایه ها تبدیل میکند و به نو...

گرفتن مقادیر آرایه با کلید خاص(تابع array column)...

تابع array_column مقادیر یک آرایه را با توجه به مقدار یک کلید خاص بر می گرداند....

نظر

نظری ثبت نشده است.
captcha image reload