我有一个数组,内容如下:
array (size=5)
0 =>
array (size=3)
0 => string '1' (length=1)
1 => string 'https://www.facebook.com' (length=24)
2 => string '4' (length=1) // order number
1 =>
array (size=3)
0 => string '1' (length=1)
1 => string 'https://www.twiiter.com' (length=23)
2 => string '7' (length=1) // order number
2 =>
array (size=3)
0 => string '1' (length=1)
1 => string 'https://www.instagram.com' (length=25)
2 => string '9' (length=1) // order number
3 =>
array (size=3)
0 => string '1' (length=1)
1 => string 'https://www.linkedin.com' (length=24)
2 => string '2' (length=1) // order number
4 =>
array (size=3)
0 => string '1' (length=1)
1 => string 'https://www.pinterest.com' (length=25)
2 => string '1' (length=1) // order number
我想根据上面代码中的数字对该数组进行排序。 (哪里有书面评论)。
我该怎么做?
到目前为止,我已经编写了以下代码,但是我不知道如何正确地编写它。
$arrMerge = array_merge($facebookURL, $twitterURL, $instagramURL, $linkedinURL, $pinterestURL);
$splitArr = array_chunk($arrMerge, 3);
答案 0 :(得分:2)
您可以将array_multisort
与array_column
一起使用
array_multisort(array_column($arr, 2), SORT_ASC,$arr)
您可以根据需要使用SORT_ASC
或SORT_DESC
答案 1 :(得分:1)
您可以使用usort。
usort($data, function($a, $b) {
return $a[2] - $b[2];
});
您可能还需要将结果类型转换为整数,因为它看起来像您的数据被视为字符串一样。
usort($data, function($a, $b) {
return (int)$a[2] - (int)$b[2];
});
这也是this question的可能副本。