我有一个具有这种形式的数组
PHP 代码:
$mergeArr = array_merge($facebookURL, $twitterURL, $instagramURL, $linkedinURL, $pinterestURL);
array (size=15)
'fbenabled' => string '1' (length=1)
'fburl' => string 'https://www.facebook.com' (length=24)
'fborder' => string '4' (length=1) // order element
'twenabled' => string '1' (length=1)
'twurl' => string 'https://www.twiiter.com' (length=23)
'tworder' => string '7' (length=1) // order element
'instaenabled' => string '1' (length=1)
'instaurl' => string 'https://www.instagram.com' (length=25)
'instaorder' => string '9' (length=1) // order element
'linkenabled' => string '1' (length=1)
'linkurl' => string 'https://www.linkedin.com' (length=24)
'linkorder' => string '2' (length=1) // order element
'pinenabled' => string '1' (length=1)
'pinurl' => string 'https://www.pinterest.com' (length=25)
'pinkorder' => string '1' (length=1) // order element
我想根据每个元素的“order”
值对该数组进行排序。
数组的新形式应该是:
array (size=15)
'pinenabled' => string '1' (length=1)
'pinurl' => string 'https://www.pinterest.com' (length=25)
'pinkorder' => string '1' (length=1) // order element
'linkenabled' => string '1' (length=1)
'linkurl' => string 'https://www.linkedin.com' (length=24)
'linkorder' => string '2' (length=1) // order element
'fbenabled' => string '1' (length=1)
'fburl' => string 'https://www.facebook.com' (length=24)
'fborder' => string '4' (length=1) // order element
'twenabled' => string '1' (length=1)
'twurl' => string 'https://www.twiiter.com' (length=23)
'tworder' => string '7' (length=1) // order element
'instaenabled' => string '1' (length=1)
'instaurl' => string 'https://www.instagram.com' (length=25)
'instaorder' => string '9' (length=1) // order element
你能帮我订购这个阵列吗?
提前致谢!
最佳答案
最好的选择是使用 asort .
asort($mergeArr);
现在,我再次查看您的代码,我注意到您想要实现的顺序实际上非常难以做到,您想要对 twitter、instagram 和 facebook 相关元素进行分组,而不是实际对它们进行分组。
您可能想要重新组织数组,使其看起来像这样:
$mergeArr = array(
'facebook' => $facebookURL,
'twitter' => $twitterURL,
'instagram' => $instagramURL,
'linkedin' => $linkedinURL,
'pintrest' => $pinterestURL
);
usort($mergeArr, function($a, $b) {
return $a['order'] - $b['order'];
});
为了使其正常工作,您需要将“order”键更改为“order”一词,例如将“pinkorder”更改为“order”,将“linkorder”更改为“order”等。
关于php - 如何在 PHP 中根据数组元素对该数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57002900/