最近在碰PHP,刚好遇到一个问题,涉及到多维数组排序问题。该系列数组都有个关键key PID,要求按照PID将数组重新排列一遍。仅仅排序第一层array即可。使用了array_multisort(),但出现报错。如下:Array
(
[0] => Array
(
[pid] => 0
[title] => 首页
[path] => index
[current] => 0
[link] => /index.php
) [1] => Array
(
[tid] => 3
[pid] => 8
[mid] => 8
[topid] => 0
[upid] => 0
[exmid] => 0
[linkid] => 2
[gotoid] => 17
[lng] => cn
[larray] => Array
(
[0] => Array
(
[tid] => 17
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [1] => Array
(
[tid] => 18
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [2] => Array
(
[tid] => 19
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
)
) ) [2] => Array
(
[tid] => 5
[pid] => 2
[mid] => 3
[topid] => 0
[upid] => 0
[exmid] => 0
[larray] => Array
(
[0] => Array
(
[tid] => 11
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [1] => Array
(
[tid] => 12
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [2] => Array
(
[tid] => 22
[pid] => 50
[mid] => 8
[topid] => 5
[upid] => 5
) ) ) [3] => Array
(
[tid] => 50
[pid] => 4
[mid] => 8
[topid] => 0
[upid] => 0
[larray] =>
) )最终结果如下:按照PID从小到大重新排列了一次。Array
(
[0] => Array
(
[pid] => 0
[title] => 首页
[path] => index
[current] => 0
[link] => /index.php
) [1] => Array
(
[tid] => 5
[pid] => 2
[mid] => 3
[topid] => 0
[upid] => 0
[exmid] => 0
[larray] => Array
(
[0] => Array
(
[tid] => 11
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [1] => Array
(
[tid] => 12
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [2] => Array
(
[tid] => 22
[pid] => 50
[mid] => 8
[topid] => 5
[upid] => 5
) ) )
[2] => Array
(
[tid] => 50
[pid] => 4
[mid] => 8
[topid] => 0
[upid] => 0
[larray] =>
) [3] => Array
(
[tid] => 3
[pid] => 8
[mid] => 8
[topid] => 0
[upid] => 0
[exmid] => 0
[linkid] => 2
[gotoid] => 17
[lng] => cn
[larray] => Array
(
[0] => Array
(
[tid] => 17
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [1] => Array
(
[tid] => 18
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [2] => Array
(
[tid] => 19
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
)
) ) )
(
[0] => Array
(
[pid] => 0
[title] => 首页
[path] => index
[current] => 0
[link] => /index.php
) [1] => Array
(
[tid] => 3
[pid] => 8
[mid] => 8
[topid] => 0
[upid] => 0
[exmid] => 0
[linkid] => 2
[gotoid] => 17
[lng] => cn
[larray] => Array
(
[0] => Array
(
[tid] => 17
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [1] => Array
(
[tid] => 18
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [2] => Array
(
[tid] => 19
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
)
) ) [2] => Array
(
[tid] => 5
[pid] => 2
[mid] => 3
[topid] => 0
[upid] => 0
[exmid] => 0
[larray] => Array
(
[0] => Array
(
[tid] => 11
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [1] => Array
(
[tid] => 12
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [2] => Array
(
[tid] => 22
[pid] => 50
[mid] => 8
[topid] => 5
[upid] => 5
) ) ) [3] => Array
(
[tid] => 50
[pid] => 4
[mid] => 8
[topid] => 0
[upid] => 0
[larray] =>
) )最终结果如下:按照PID从小到大重新排列了一次。Array
(
[0] => Array
(
[pid] => 0
[title] => 首页
[path] => index
[current] => 0
[link] => /index.php
) [1] => Array
(
[tid] => 5
[pid] => 2
[mid] => 3
[topid] => 0
[upid] => 0
[exmid] => 0
[larray] => Array
(
[0] => Array
(
[tid] => 11
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [1] => Array
(
[tid] => 12
[pid] => 50
[mid] => 3
[topid] => 5
[upid] => 5
) [2] => Array
(
[tid] => 22
[pid] => 50
[mid] => 8
[topid] => 5
[upid] => 5
) ) )
[2] => Array
(
[tid] => 50
[pid] => 4
[mid] => 8
[topid] => 0
[upid] => 0
[larray] =>
) [3] => Array
(
[tid] => 3
[pid] => 8
[mid] => 8
[topid] => 0
[upid] => 0
[exmid] => 0
[linkid] => 2
[gotoid] => 17
[lng] => cn
[larray] => Array
(
[0] => Array
(
[tid] => 17
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [1] => Array
(
[tid] => 18
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
) [2] => Array
(
[tid] => 19
[pid] => 50
[mid] => 8
[topid] => 3
[upid] => 3
)
) ) )
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货