您好,欢迎访问一九零五行业门户网

php array_multisort() 多组数组排序方法_PHP教程

在php中array_multisort()可实现一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序,如果成功则返回 true,失败则返回 false。
bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] )
如果成功则返回 true,失败则返回 false。
array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。
关联(string)键名保持不变,但数字键名会被重新索引。
例子 1. 对多维数组排序
 代码如下 复制代码
in this example, after sorting, the first array will transform to 10, 100, 100, 11, a (it was sorted as strings in ascending order). the second will contain 1, 3, 2, 2, 1 (sorted as numbers, in descending order).
 代码如下 复制代码
array(2) {
  [0]=> array(5) {
    [0]=> string(2) 10
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) a
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) 2
    [3]=> int(2)
    [4]=> int(1)
  }
}
本例中经过排序后,第一个数组将包含 10,100,100,a(作为字符串上升排序),第二个数组将包含 1,3,2,1(作为数值下降排序)。
例子 2. sorting multi-dimensional array
 代码如下 复制代码
本例中在排序后,第一个数组将变成 10,100,100,11,a(被当作字符串以升序排列)。第二个数组将包含 1, 3, 2, 2, 1(被当作数字以降序排列)。
 代码如下 复制代码
array(2) {
  [0]=> array(5) {
    [0]=> string(2) 10
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) a
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) 2
    [3]=> int(2)
    [4]=> int(1)
  }
}
实例3 综合实现来看一个关于在应用中常用的实例.
 代码如下 复制代码
header('content-type: text/html; charset=utf-8');
echo '';
//原始数组格式
$array = array(
'key1' => array(
'item1' => '65',
'item2' => '35',
'item3' => '84',
),
'key2' => array(
'item1' => '24',
),
'key3' => array(
'item1' => '38',
'item3' => '45',
),
);
//要排序的键
//按照数组中的 item1进行排序
//你也可以换成item2
$sort = 'item1';
foreach($array as $k => $v)
{
$newarr[$k] = $v[$sort];
}
//这个函数如果执行正确他会直接改变原数组键值的顺序
//如果执行失败,那么他会返回 bool(false)
array_multisort($newarr,sort_desc, $array);
var_dump($array);
//---------------------排序后的数组打印效果 开始--------------------
array(3) {
[key1]=>
array(3) {
[item1]=>
string(2) 65
[item2]=>
string(2) 35
[item3]=>
string(2) 84
}
[key3]=>
array(2) {
[item1]=>
string(2) 38
[item3]=>
string(2) 45
}
[key2]=>
array(1) {
[item1]=>
string(2) 24
}
}
//---------------------排序后的数组打印效果 结束---------------------
关于 array_multisort()函数详解可参考 http://www.bkjia.c0m/phper/php-function/39192.htm
http://www.bkjia.com/phpjc/629150.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/629150.htmltecharticle在php中array_multisort()可实现一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序,如果成功则返回 true,失败则返回 false。...
其它类似信息

推荐信息