从数组内部的对象排序数据,数组也在另一个数组中

时间:2018-03-14 12:43:59

标签: php

这是我的数组,其名称为 ClassSectionMapObjArray ,其中包含 StudentSectionObjectArray ,其中包含 StudentSectionObject

StudentSectionObject 中有一个 studentObj 数组,我必须按字母顺序从中获取 studentName

Array 
    ( 
        [0] => GetClassSectionMap Object
        ( 
            [studentSectionObject] => Array 
            ( 
                [0] => StudentSection Object 
                ( 
                    [studentId] => 1
                    [studentObj] => Array 
                    ( 
                        [0] => Student Object 
                        ( 
                            [studentName] => Varun Gupta
                        )
                    )
                )
                [1] => StudentSection Object 
                ( 
                    [studentId] => 2 
                    [studentObj] => Array 
                    (
                        [0] => Student Object 
                        ( 
                            [studentName] => Shubham Sharma
                        )
                    )
                )
            )
        )
    )

我必须按字母顺序按 studentName。

存储数据

我是一名学习者,不熟悉php ..请帮助。 我也使用 usort(),但它不起作用。

usort($class_section_map_object_array[0]->studentSectionObject,"cmp");

function cmp($a,$b)
{
    return strcmp($a->studentObject->studentName,$b->studentObject->studentName);
}

但根据 studentId

,这会让我的结果为降序

2 个答案:

答案 0 :(得分:0)

不使用strcmp代替吹码

usort($class_section_map_object_array[0]->studentSectionObject,"cmp");

function cmp($a,$b)
{
    return $a->studentObject->studentName < $b->studentObject->studentName;
}

答案 1 :(得分:0)

最后,我已经解决了......

我的功能稍有变化,就是这样......

function cmp($a,$b)
    {
        return strcmp($a->studentObject[0]->studentName,$b->studentObject[0]->studentName);
    }