PHP使用子数组值按字母顺序排序数组

PHP sort array alphabetically using a subarray value

本问题已经有最佳答案,请猛点这里访问。

0

我的数组看起来像:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array(
    [0] => Array(
         [name] => Bill
         [age] => 15
    ),
    [1] => Array(
         [name] => Nina
         [age] => 21
    ),
    [2] => Array(
         [name] => Peter
         [age] => 17
    )
);

我想根据他们的名字按字母顺序排列。我看到了按子数组值排列的PHP排序数组,但它没什么帮助。你知道怎么做吗?


这是你的答案,100%有效,我已经测试过了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$a = Array(
    1 => Array(
         'name' => 'Peter',
         'age' => 17
    ),
    0 => Array(
         'name' => 'Nina',
         'age' => 21
    ),
    2 => Array(
         'name' => 'Bill',
         'age' => 15
    ),
);
function compareByName($a, $b) {
  return strcmp($a["name"], $b["name"]);
}
usort($a, 'compareByName');
/* The next line is used for debugging, comment or delete it after testing */
print_r($a);


usort是你的朋友:

1
2
3
4
5
6
function cmp($a, $b)
{
        return strcmp($a["name"], $b["name"]);
}

usort($array,"cmp");