多维PHP数组的基本排序

时间:2022-12-04 21:31:49

Trying to sort an array by name so I can display an alphabetical list.

尝试按名称对数组进行排序,以便显示按字母顺序排列的列表。

Here's a snippet of code:

这是一段代码:

sort($stores);

for($i=0; $i<count($stores); $i++) {
    echo $stores[$i]['name'];
}

I have a basic understanding of what needs to be done, I'm just not sure how to pass the 'name' part of the array to the sort() function. Perhaps I need to use a different function?

我对需要做什么有基本的了解,我只是不确定如何将数组的'name'部分传递给sort()函数。也许我需要使用不同的功能?

Thanks.

2 个解决方案

#1


2  

Use a custom sort function:

使用自定义排序功能:

usort($stores, function ($a, $b) {
    return strcmp($a['name'], $b['name']);
});

#2


2  

You can use usort to sort an array by values using a customized comparison function.

您可以使用usort使用自定义比较函数按值对数组进行排序。

By custom here we mean an array of custom object types.

通过自定义,我们指的是一组自定义对象类型。

function compare($a, $b)
{
    return strcmp($a['name'], $b['name']);
}

usort($stores, "compare");

#1


2  

Use a custom sort function:

使用自定义排序功能:

usort($stores, function ($a, $b) {
    return strcmp($a['name'], $b['name']);
});

#2


2  

You can use usort to sort an array by values using a customized comparison function.

您可以使用usort使用自定义比较函数按值对数组进行排序。

By custom here we mean an array of custom object types.

通过自定义,我们指的是一组自定义对象类型。

function compare($a, $b)
{
    return strcmp($a['name'], $b['name']);
}

usort($stores, "compare");