如果我有一个如下所示的数组:
$members = array(
array(
'id'=>2,
'name' => 'Bob',
'status' => 1
),
array(
'id'=>4,
'name' => 'Fred',
'status' => 1
),
array(
'id'=>5,
'name' => 'Sally',
'status' => 0
),
array(
'id'=>1,
'name' => 'Fred',
'status' => 1
),
array(
'id'=>3,
'name' => 'Jane',
'status' => 0
),
);
如何对条目进行排序,使其按名称按字母顺序显示?
答案 0 :(得分:0)
您可以定义自己的比较功能:
function cmp($a, $b)
{
return strcmp($a['name'], $b['name']);
}
usort($myarray, "cmp");
有关PHP排序的更多信息,请参阅PHP documentation
答案 1 :(得分:0)
这里我们使用usort
和strcmp
来排序嵌套数组。与strcmp
我们正在比较两个字符串。
$array = array(
array(
'id'=>2,
'name' => 'Bob',
'status' => 1
),
array(
'id'=>4,
'name' => 'Fred',
'status' => 1
),
array(
'id'=>5,
'name' => 'Sally',
'status' => 0
),
array(
'id'=>1,
'name' => 'Fred',
'status' => 1
),
array(
'id'=>3,
'name' => 'Jane',
'status' => 0
),
);
usort($array, function($data1,$data2){
return strcmp($data1["name"], $data2["name"]);
});
print_r($array);