帮助整理这个数组 [英] help sorting this array

查看:83
本文介绍了帮助整理这个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我期待低于fk_page_id升序多维数组进行排序。没有人有任何指针。我认为usort()是我要看看,但好像我找不到我的具体阵列结构的人。

 阵列
    (    [0] =>排列        (
            [标题] =>子页面的子页面!
            [ID] =>五
            [long_title] =>
            [fk_page_id] => 4
        )    [1] =>排列
        (
            [标题] =>关于我们子页面
            [ID] => 4
            [long_title] =>
            [fk_page_id] => 2
        )    [2] =>排列
        (
            [标题] =>关于我们
            [ID] => 2
            [long_title] =>
            [fk_page_id] => 1
        ))


解决方案

如果你使用PHP 5.3 +

 定义(ASC,1);
定义(DESC,-1);功能colsort($数组$关口,$为了= ASC){
    usort(
        $阵列,
        功能($ A,$ B)使用($关口,$顺序){
            返回STRCMP($ A [$山坳],$ B [$ COL])* $秩序;
        }
    );
    返回$阵列;
}colsort($ X'fk_page_id');

So I am looking to sort the multi dimensional array below by "fk_page_id" ascending. Does anyone have any pointers. I think usort() is where I have to look but it seems like I cant find anyone with my specific array structure.

Array
    (

    [0] => Array

        (
            [title] => subpage of subpage!
            [id] => 5
            [long_title] =>
            [fk_page_id] => 4                                
        )

    [1] => Array
        (
            [title] => about us subpage
            [id] => 4
            [long_title] => 
            [fk_page_id] => 2
        )

    [2] => Array
        (
            [title] => about us
            [id] => 2
            [long_title] => 
            [fk_page_id] => 1
        )

)

解决方案

if you're using PHP 5.3+:

define(ASC,1);
define(DESC,-1);

function colsort($array,$col,$order=ASC) {
    usort(
        $array,
        function($a,$b) use($col,$order) {
            return strcmp($a[$col],$b[$col])*$order;
        }
    );
    return $array;
}

colsort($x,'fk_page_id');

这篇关于帮助整理这个数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆