人们已经向我展示了如何使用PHP中的usort和回退函数按特定值对数组进行排序.
如果此特定值不存在并且我们必须使用两个值,该怎么办?在示例中,下面是值[4]和[5] ...换句话说,我想这样做:按照每个对象的fith值从最高到最低,对所有对象进行数值排序,对于这些对象,按顺序排列如果fifht值为空(在示例' - '中),请按第四个值排序.
Array(
[0] => Array(
[0] => links-patrocinados
[1] => adwords
[2] => 0,5
[3] => R$92,34
[4] => 823000
[5] => 49500
)
[1] => Array(
[0] => adwords
[1] => google adwords como funciona
[2] => 0,38
[3] => R$0,20
[4] => 480
[5] => 480
)
[2] => Array(
[0] => links-patrocinados
[1] => adword
[2] => 0,39
[3] => R$58,77
[4] => 49500
[5] => 2900
)
[3] => Array(
[0] => agencia
[1] => agencias viagens espanholas
[2] => -
[3] => R$0,20
[4] => 58
[5] => -
)
[4] => Array(
[0] => agencia
[1] => era agencia imobiliaria
[2] => -
[3] => R$0,20
[4] => 73
[5] => -
)
)
Run Code Online (Sandbox Code Playgroud)
// $myArray = your array of associative arrays, above
function compare($x, $y)
{
if ( $x[5] == $y[5] ) {
return 0;
}
else if ( $x[5] < $y[5] ) {
return -1;
}
else {
return 1;
}
}
usort($myArray, 'compare');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |