مرتب سازی آرایه های چند متغیری و چند بعدی در 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
        )
)

منبع کمکی

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

تابع محاسبه کننده شروع و پایان یک روز به زمان یونیکس در php...

تابع زیر زمان شروع و پایان یک روز را به فرمت یونیکس بر میگرداند......

گرفتن زیرمجموعه های شناسه یک آرایه از کل آرایه به صورت تو در تو...

مدتی قبل برای گروه ما در یکی از پروژه ها به تابعی نیاز شد که هر چند جز کدهای ساده ایست اما کارهای بزرگی انجام میدهد. تابع زیر تمامی زیرمجموعه های یک شناسه بصورت تو در تو رو را شناسایی میکند. برای درک ...

فراخوانی فایلهای پیکربندی ini با تابع ()parse_ini_file...

تابع ()parse_ini_file جهت پردازش و فراخوانی متغیرهای درونی فایلهای پیکربندی ini بکار می رود. در وب سایتهای تخصصی همواره قرار دادن متغیرهای سراسری در فایلهای php جالب نیست و معقول خواهد بود تا متغیرهای...

ایجاد تابعی با n ورودی - mixed arguments...

برای ایجاد تابعی با n ورودی (mixed arguments) کافیست ابتدا آرگومانهای تابع را به صورت یک متغیر آرایهای بگیرید. مثال: function foo() { $args = func_get_args(); print_r($args); }   ...

نظر

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