3
"url" => "img/20191015/5da586020fa6b.jpg",
4
"alt" => "lunbo2",
5
"href" => "https://www.baidu.com/",
6
"sort" => "7"
8
array
(
9
"url" => "img/20191018/5da9783499dec.jpg",
10
"alt" => "X1300",
11
"href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/x1300-180.html",
12
"sort" => "3"
13
),
14
array
(
15
"url" => "img/20191018/5da987c81f420.jpg",
16
"alt" => "S300",
17
"href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/s300-170.html",
18
"sort" => "4"
19
)
20
);
22
$cmf_arr
= array_column(
$cmf_settings
, 'sort'
);
打印$cmf_arr得到如下结果
方法二:array_multisort() 函数返回一个排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
array_multisort(‘数组1’, 'SORT_ASC(升序)', '数组2', '数组3', '数组4', '数组5', '数组6');
数组1:进行排序的数组。
SORT_ASC(升序):是对数组1的排序方式。
'数组2', '数组3'......:根据数组1的排序方式对'数组2', '数组3', '数组4', '数组5', '数组6'进行排序。
数组1升序排序: 第二组数据[1] => "3" 位置变成[0] => "3",那么'数组2', '数组3', '数组4', '数组5', '数组6'的第二组数据[1] => "不管是什么数据" 位置变成[0] => "不管是什么数据"。
参数描述
array1
必需。规定数组。
sorting order
可选。规定排列顺序。可能的值:
SORT_ASC - 默认。按升序排列 (A-Z)。
SORT_DESC - 按降序排列 (Z-A)。
SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
SORT_NUMERIC - 把每一项作为数字来处理。
SORT_STRING - 把每一项作为字符串来处理。
SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
3
"url" => "img/20191015/5da586020fa6b.jpg",
4
"alt" => "lunbo2",
5
"href" => "https://www.baidu.com/",
6
"sort" => "7"
8
array
(
9
"url" => "img/20191018/5da9783499dec.jpg",
10
"alt" => "X1300",
11
"href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/x1300-180.html",
12
"sort" => "3"
13
),
14
array
(
15
"url" => "img/20191018/5da987c81f420.jpg",
16
"alt" => "S300",
17
"href" => "https://www.baidu.com/fully-automatic-pallet-wrappin/s300-170.html",
18
"sort" => "4"
19
)
20
);
22
$cmf_arr
= array_column(
$cmf_settings
, 'sort'
);
24
array_multisort
(
$cmf_arr
, SORT_ASC,
$cmf_settings
);
打印$cmf_settings得到如下结果,满足需求。
总结:利用 array_column() 把要排序的键值提取出来,在利用array_multisort()对数组进行排序。理解起来有点绕,不过以后的用处会很大的。
如有错误请指出,谢谢。