如果在PHP中为空,如何以较低的顺序对空键和值进行排序

用户名

我需要的

  • 当[comment] =''字段为空时,我需要它应该是排序&它将导致较低的顺序。
  • 阵列结构

    [0] => Array
    (
        [type] => CACDA
        [metadata] => Array
            (
                [0] => Array
                    (
                        [amount] => 320
                        [comment] => 
                    )
    
            )
    
    )
    
     [1] => Array
    (
        [type] => CVMA
        [metadata] => Array
            (
                [0] => Array
                    (
                        [amount] => 320
                        [comment] => Onsite After February 20
                    )
    
            )
    
    )
    

源代码

              unset($data[0]);
            //store types and the arrays the belong to    
                foreach($data as $k=>$v){
                $type[$v['type']][]=$k;
                }

                //loop types, creating result array
                foreach($type as $k=>$v){
                $tmp=array(
                'type'=>$k,
                'metadata'=>array()
                );
                //loop all the arrays of this type
                foreach($v as $w){
                //store in TMP
                $t=array(
                'amount' => $data[$w]['amount'],
                'comment' => $data[$w]['comment']
                );

               $t array structure

                                                                                 Array
                                    (
                                    [amount] => 320
                                    [comment] => 
                                    )
                                    Array
                                    (
                                    [amount] => 320
                                    [comment] => Onsite After February 20
                                    )
                                    Onsite After February 20Array
                                    (
                                    [amount] => 320
                                    [comment] => Onsite After February 20
                                    )
                                    Onsite After February 20Array
                                    (
                                    [amount] => 370
                                    [comment] => Onsite After February 20
                                    )
                                    Onsite After February 20Array
                                    (
                                    [amount] => 170
                                    [comment] => Onsite After February 20
                                    )
                //sort TMP on EMPTY value
                //usort($t,function ($a, $b) {
                //if($a == '' && $b != '') return 1;
                //if($b == '' && $a != '') return -1;
                //if($b == 0){return 1;}
                //return 0; 
                //});
                arsort($t['comment']);
                //store 
                $tmp['metadata'][]=$t;
                }
                $result[]=$tmp;
                }

排序后数组的输出应该像ex

      [1] => Array
    (
        [type] => CVMA
        [metadata] => Array
            (
                [0] => Array
                    (
                        [amount] => 320
                        [comment] => Onsite After February 20
                    )

            )

    )
   [0] => Array
    (
        [type] => CACDA
        [metadata] => Array
            (
                [0] => Array
                    (
                        [amount] => 320
                        [comment] => 
                    )

            )

    )
  • 我遇到的问题我也尝试过usort。

  • 我已经尝试过使用arsort函数,但是没有任何工作可以进行排序。

  • 请指出我做错了什么。

  • 我应该为php中的键和值使用哪种排序功能。

ʰᵈˑ

您可以使用uasort

uasort($array, function($a) {
     return ( is_null($a['metadata'][0]['comment']) OR $a['metadata'][0]['comment'] == "") ? 1 : -1;
});

https://eval.in/207091

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果在 PHP 中具有相同的 id 和相同的值或值为空,则合并行

来自分类Dev

如果在数组内添加键和值

来自分类Dev

如果在Kotlin Maven插件中为空,则跳过

来自分类Dev

如果在获取过程中数据为Null或为空,则PHP Mysqli替换逗号

来自分类Dev

如果在jsp页面中数组列表为空,如何删除类?

来自分类Dev

如果在dev gem中当前密码为空,如何更新密码?

来自分类Dev

如果在此代码中输入为空,如何添加?

来自分类Dev

如果在日期字段中传递空值,如何转换日期时间

来自分类Dev

如果在插入批处理 CodeIgniter 中输入不为空,如何发送值

来自分类Dev

如果在用户输入中找到键,则从字典对象中打印多个键和值

来自分类Dev

按点排序,但如果在MySQL中按相同顺序排序

来自分类Dev

如果在这种情况下列表为空,我如何避免java中的空指针异常?

来自分类Dev

如何以相反的顺序对番石榴Multimap键进行排序?

来自分类Dev

如果在 SQL 表中找不到值,如何将行值设置为“否”?

来自分类Dev

如何摆脱检查为空,如果,否则,如果在此代码签名?

来自分类Dev

如果在PHP中退出

来自分类Dev

PHP(如果在表单输入中)

来自分类Dev

如果在多个作用域中存在相同的属性,则servlet中的属性值以哪种顺序可用

来自分类Dev

如何以顺序模式对 PHP 数组进行数字排序

来自分类Dev

如果在循环中找到多个键,该如何获取它的值?

来自分类Dev

如果在simplexml addChild中值为空,如何避免快捷方式关闭xml标记?

来自分类Dev

如果在jQuery Cycle2标题中为空,如何删除标题或描述

来自分类Dev

如果在Polymerjs中数组为空,则想显示消息

来自分类Dev

如果在MySQL中IN子句为空,则给出所有行

来自分类Dev

如果在 LEFT JOIN 和 WHERE 子句中找不到结果,如何在 MySQL 查询中返回 NULL 值

来自分类Dev

如果在对象内找到值,则返回键

来自分类Dev

PHP,如果在没有OR或AND的单条件下进行条件双值检查

来自分类Dev

如果在Eloquent中存在(如何使用另一列)列,如何排序?

来自分类Dev

如果在PHP中同时具有年份和星期#(ISO-8601的星期数),如何获取日期?

Related 相关文章

  1. 1

    如果在 PHP 中具有相同的 id 和相同的值或值为空,则合并行

  2. 2

    如果在数组内添加键和值

  3. 3

    如果在Kotlin Maven插件中为空,则跳过

  4. 4

    如果在获取过程中数据为Null或为空,则PHP Mysqli替换逗号

  5. 5

    如果在jsp页面中数组列表为空,如何删除类?

  6. 6

    如果在dev gem中当前密码为空,如何更新密码?

  7. 7

    如果在此代码中输入为空,如何添加?

  8. 8

    如果在日期字段中传递空值,如何转换日期时间

  9. 9

    如果在插入批处理 CodeIgniter 中输入不为空,如何发送值

  10. 10

    如果在用户输入中找到键,则从字典对象中打印多个键和值

  11. 11

    按点排序,但如果在MySQL中按相同顺序排序

  12. 12

    如果在这种情况下列表为空,我如何避免java中的空指针异常?

  13. 13

    如何以相反的顺序对番石榴Multimap键进行排序?

  14. 14

    如果在 SQL 表中找不到值,如何将行值设置为“否”?

  15. 15

    如何摆脱检查为空,如果,否则,如果在此代码签名?

  16. 16

    如果在PHP中退出

  17. 17

    PHP(如果在表单输入中)

  18. 18

    如果在多个作用域中存在相同的属性,则servlet中的属性值以哪种顺序可用

  19. 19

    如何以顺序模式对 PHP 数组进行数字排序

  20. 20

    如果在循环中找到多个键,该如何获取它的值?

  21. 21

    如果在simplexml addChild中值为空,如何避免快捷方式关闭xml标记?

  22. 22

    如果在jQuery Cycle2标题中为空,如何删除标题或描述

  23. 23

    如果在Polymerjs中数组为空,则想显示消息

  24. 24

    如果在MySQL中IN子句为空,则给出所有行

  25. 25

    如果在 LEFT JOIN 和 WHERE 子句中找不到结果,如何在 MySQL 查询中返回 NULL 值

  26. 26

    如果在对象内找到值,则返回键

  27. 27

    PHP,如果在没有OR或AND的单条件下进行条件双值检查

  28. 28

    如果在Eloquent中存在(如何使用另一列)列,如何排序?

  29. 29

    如果在PHP中同时具有年份和星期#(ISO-8601的星期数),如何获取日期?

热门标签

归档