zoukankan      html  css  js  c++  java
  • 如何使用PHP排序key为字母+数字的数组

    你还在为如何使用PHP排序字母+数字的数组而烦恼吗?
    当时我就震惊了

    今天有个小伙伴在群里问:
    如何将一个key为字母+数字的数组按升序排序呢?

    举个例子:

    $test = [
    	'n1' => 22423,
    	'n10' => 22423,
    	'n2' => 'werwerw',
    	'n3' => 22423,
    	'n4' => 22423,
    	'n5' => 22423,
    	'n21' => 22423,
    	'n11' => 22423,
    ];
    

    希望将它排序成这样子:

    $test = [
    	'n1' => 22423,
    	'n2' => 'werwerw',
    	'n3' => 22423,
    	'n4' => 22423,
    	'n5' => 22423,
    	'n10' => 22423,
    	'n11' => 22423,
    	'n21' => 22423,
    ]
    

    PHP数组函数帮到你

    $test = [
    	'n1' => 22423,
    	'n10' => 22423,
    	'n2' => 'werwerw',
    	'n3' => 22423,
    	'n4' => 22423,
    	'n5' => 22423,
    	'n21' => 22423,
    	'n11' => 22423,
    ];
    ksort($test, SORT_NATURAL);
    var_dump($test);
    

    得到的结果:

    array (size=8)
      'n1' => int 22423
      'n2' => string 'werwerw' (length=7)
      'n3' => int 22423
      'n4' => int 22423
      'n5' => int 22423
      'n10' => int 22423
      'n11' => int 22423
      'n21' => int 22423
    

    那么这个函数的意思是什么呢?

    定义和用法

    ksort() 函数对关联数组按照键名进行升序排序。

    语法
    ksort(array,sortingtype);
    
    参数 描述
    array 必需。规定要进行排序的数组。
    sortingtype 可选。规定如何排列数组的元素/项目。可能的值:
    0 = SORT_REGULAR -默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
    1 = SORT_NUMERIC - 把每一项作为数字来处理。
    2 = SORT_STRING - 把每一项作为字符串来处理。
    3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
    4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
    5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
    说明

    ksort() 函数按照键名对数组排序,为数组值保留原来的键。
    可选的第二个参数包含附加的排序标志。
    若成功,则返回 TRUE,否则返回 FALSE。

    提示

    提示:请使用 krsort() 函数对关联数组按照键名进行降序排序。
    提示:请使用 asort() 函数对关联数组按照键值进行升序排序。

    具体可看: 数组函数

  • 相关阅读:
    android 中文 api (43) —— Chronometer
    SVN客户端清除密码
    Android 中文 API (35) —— ImageSwitcher
    Android 中文API (46) —— SimpleAdapter
    Android 中文 API (28) —— CheckedTextView
    Android 中文 API (36) —— Toast
    Android 中文 API (29) —— CompoundButton
    android 中文 API (41) —— RatingBar.OnRatingBarChangeListener
    Android 中文 API (30) —— CompoundButton.OnCheckedChangeListener
    Android 中文 API (24) —— MultiAutoCompleteTextView.CommaTokenizer
  • 原文地址:https://www.cnblogs.com/ailhc/p/7594585.html
Copyright © 2011-2022 走看看