我有一个这样的数组数组:
array(18) {
[0]=>
array(3) {
["ID"]=>
string(5) "23"
["EYE_SIZE"]=> "203.C"
}
[1]=>
array(2) {
["ID"]=>
string(5) "1"
["EYE_SIZE"]=> "231.2A"
}
[2]=>
array(2) {
["ID"]=>
string(5) "32"
["EYE_SIZE"]=> "231.2B"
}
[3]=>
array(3) {
["ID"]=>
string(5) "90"
["EYE_SIZE"]=> "201A"
}
... and so on
}
我希望数组中的数组根据EYE_SIZE值按字母数字排序。例如,如果数组的EYE_SIZE值为 201A,我希望它位于EYE_SIZEs为 203A、201B 或 201.2A 的数组之前。
PHP 中是否有可以帮助我实现此目的的函数?
您可以使用usort
并编写自己的比较函数。
function cmp($a, $b)
{
return strcmp($a["EYE_SIZE"], $b["EYE_SIZE"]);
}
usort($your_array, "cmp");
或带闭合
usort($your_array, function($a, $b){
return strcmp($a["EYE_SIZE"], $b["EYE_SIZE"]);
});