jjzjj

PHP Sort Array By SubArray Value by 第三级

coder 2024-04-30 原文

我有一个数组需要按三级排序。

我需要按 fullname 值对数组进行排序。这可能吗?

$array = array(
    'family1' => array(
        'family_data' => array(
            'fullname' => 'Samuel Smith',
            '...' => '...'
        )
    ),
    'family2' => array(
        'family_data' => array(
            'fullname' => 'John Doe',
            '...' => '...'
        )
    ),
    'family3' => array(
        'family_data' => array(
            'fullname' => 'Adrian Chan',
            '...' => '...'
        )
    )
);

更容易阅读:

Array
(
    [family1] => Array
        (
            [family_data] => Array
                (
                    [fullname] => Samuel Smith
                    [...] => ...
                )

        )

    [family2] => Array
        (
            [family_data] => Array
                (
                    [fullname] => John Doe
                    [...] => ...
                )

        )

    [family3] => Array
        (
            [family_data] => Array
                (
                    [fullname] => Adrian Chan
                    [...] => ...
                )

        )

)

期望的结果是:

Array
(
    [family3] => Array
        (
            [family_data] => Array
                (
                    [fullname] => Adrian Chan
                    [...] => ...
                )

        )

    [family2] => Array
        (
            [family_data] => Array
                (
                    [fullname] => John Doe
                    [...] => ...
                )

        )

    [family1] => Array
        (
            [family_data] => Array
                (
                    [fullname] => Samuel Smith
                    [...] => ...
                )

        )

)

最佳答案

使用uasort

uasort — Sort an array with a user-defined comparison function and maintain index association

uasort($array, function($a, $b) {
    return strcmp($a['family_data']['fullname'], $b['family_data']['fullname']);
});

测试:

$array = array(
    'family1' => array(
        'family_data' => array(
            'fullname' => 'Ben Smith',
            '...' => '...',
            '...' => '...'
        ),
        '...' => '...',
        '...' => '...'
    ),
    'family2' => array(
        'family_data' => array(
            'fullname' => 'John Doe',
            '...' => '...',
            '...' => '...'
        ),
        '...' => '...',
        '...' => '...'
    ),
    'family3' => array(
        'family_data' => array(
            'fullname' => 'Aen Smith',
            '...' => '...',
            '...' => '...'
        ),
        '...' => '...',
        '...' => '...'
    ),
);

uasort($array, function($a, $b) {
    return strcmp($a['family_data']['fullname'], $b['family_data']['fullname']);
});

print_r($array);

输出:

Array
(
    [family3] => Array
        (
            [family_data] => Array
                (
                    [fullname] => Aen Smith
                    [...] => ...
                )

            [...] => ...
        )

    [family1] => Array
        (
            [family_data] => Array
                (
                    [fullname] => Ben Smith
                    [...] => ...
                )

            [...] => ...
        )

    [family2] => Array
        (
            [family_data] => Array
                (
                    [fullname] => John Doe
                    [...] => ...
                )

            [...] => ...
        )

)

关于PHP Sort Array By SubArray Value by 第三级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16582086/

有关PHP Sort Array By SubArray Value by 第三级的更多相关文章

  1. javascript - 使用 accepts_nested_attributes_for 的 rails 中的三级嵌套表单 - 2

    我一直在尝试在我的Rails应用程序中使用accepts_nested_attributes_for实现动态多模型表单。我一直在关注EloyDuran的complex-formsexample这显示了2级实现,但我一直在尝试将其扩展到3级。accepts_nested_attributes_for是否支持3级表单?谁能告诉我如何扩展示例应用程序?我已经让第3级的javascript部分工作(由于某种原因并不总是工作),但我无法保存第3级对象。它为每个属性传递的参数名称是:greatgrandparent[grandparent_attributes][0][parent_attribu

  2. PHP Sort Array By SubArray Value by 第三级 - 2

    我有一个数组需要按三级排序。我需要按fullname值对数组进行排序。这可能吗?$array=array('family1'=>array('family_data'=>array('fullname'=>'SamuelSmith','...'=>'...')),'family2'=>array('family_data'=>array('fullname'=>'JohnDoe','...'=>'...')),'family3'=>array('family_data'=>array('fullname'=>'AdrianChan','...'=>'...')));更容易阅读:Arra

  3. php - PyroCMS 导航栏中的三级导航 - 2

    我在PyroCMS中制作第三级导航栏时遇到了一些问题,我没有两个级别可以正常工作,但出于某种原因,它不会让我浏览{{navigation}}数组两次。这是我目前拥有的:{{navigation:linksgroup="header"}}{{ifchildren}}{{title}}{{children}}{{ifchildren}}{{title}}{{children}}{{title}}{{/children}}{{else}}{{title}}{{endif}}{{/children}}{{else}}{{title}}{{endif}}{{/navigation:links}}

  4. php - 多层次类别未在 wordpress 分类法中显示第三级层次结构 - 2

    对于自定义帖子类型,我有3个级别的类别、类别、子类别和子子类别。我正在尝试使用cmb2在下拉列表中显示这些类别,我的代码仅显示类别的2级并且缺少第三级。Category1--childcategory1--childcategory2--addoncategory1--addoncategory2--childcategory3--childcategory4--addoncategory1--addoncategory2Category2--childcategory1--childcategory2--addoncategory1--addoncategory2--childcat

  5. php - 如何获取三级分类(Category,SubCategory,SubCategoryThree)的数据并显示所选分类下的相关数据 - 2

    我有三个表。结构是:1.categoriesid-integername-string2.sub_Categoriesid-integercategory_id-integername-string3.sub_catergory_threesid-integersub_Category_id-integername-string现在我想显示三个级别的类别,例如类别,当鼠标悬停在任何类别项目上时,显示该类别的子类别,当鼠标悬停在任何子类别项目上时,显示该子类别的Sub_Categories_ThreeimusinglaraveleloquenthereareMyModelsCategor

  6. 【Vue-Element UI】三级表单可选框以及显示、修改和删除表单属性 - 2

    目录三级表单可选框静态界面收集数据 获取数据属性值内容显示 一些知识点(1)Vue.nextTick()(2)$set(3) ref(4)一些数组方法(5)深拷贝(6)@blur三级表单可选框效果:这里是后台管理系统的三级选择器,只有当第一级分类选中属性时,第二个才能选,以此类推。静态界面Element ui里面的表单选择器:组件|Element这里用到的Form属性: inline属性可以让表单域变为行内的表单域   inline为true代表的是行内表单,代表一行可以放置多个表单元素model属性为表单的数据对象这里用到的Form-Item属性:label属性:标签的文本收集数据 需要调取

  7. 2022浙江省计算机三级网络及安全技术考试知识点总结 - 2

    目前还没写完,随意码字中,人比较懒,不过至少会在下一场考试前写完哈哈哈哈目前还没写完,随意码字中,人比较懒,不过至少会在下一场考试前写完哈哈哈哈写在前面题型分布判断(10分)综合判断(1分/题,10题)选择(90分)综合选择(2分/题,30题)网络应用(2分/题,9题)安全技术(2分/题,6题)考点总结判断题考点总结综合判断选择题考点总结综合选择网络应用安全技术写在前面2022年11月19日,人在宁波,刚出考场,趁热分享一下考试相关内容~首先,需要明确的一点就是,这个考试是浙江省高校计算机等级考试,而非教育部考试院组织的全国计算机等级考试(即NCRE),本考试只在浙江省进行,在考试之前我发现还

  8. 2023年五月份图形化三级打卡试题 - 2

    活动时间从2023年5月1日至5月21日,每天一道编程题。本次打卡的规则如下:小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群,表示完成了今天的打卡。当天晚上,我会把题目的答案发到群内给小朋友们做个参考,我也会在朋友圈为打卡的小朋友点赞。Day01:三级2021.12_数星星Goblin有个很厉害的魔法:他一挥手就可以点亮夜空中五彩斑斓的星星灯。1.准备工作(1)删除小猫角色,添加"Goblin"角色,并删除Goblin角色的造型"golblin-a"、“goblin-c"和"goblin-d”,添加角色

  9. mongodb - 在 mongodb 中查找第三级嵌套数组文档的计数 - 2

    我需要在单个查询中找到状态为'a'的计数以及数组'Y'中元素的总数,其中'X'和'Y'是嵌套的文档数组。集合类似如下:{X:[{Y:[{STATUS:'a'},{STATUS:'a'},{STATUS:'b'}]}]}单个mongodb查询,用于查找状态'a'的计数和数组'Y'中的元素总数。所需结果是'a'的计数,即2和'Y'中的元素总数,即3。 最佳答案 您可以使用$map转换数组和$filter检查状态是否等于"a"。$size给你数组中元素的数量。尝试:db.collection.aggregate([{$project:{X

  10. 计算机三级 - 2

    计算机网络绪论第1章网络系统结构与设计的基本原则------------------------------------------------------------------------第2章中小型网络系统总体规划与设计2.1网络总体设计基本方法2.2网络设备选型2.3网络服务器选型------------------------------------------------------------------------第3章IP地址规划技术3.1IP地址分类及子网划分(★\bigstar★综合题1)3.2无类域间路由技术(CIDR)3.3NAT技术工作原理3.4IPv6地址的特点-

随机推荐