[英]Sorting array values in ascending order
我在以下變量中存儲數組值
$weight[$cQ][$post]
其中$cQ
是Index而$post
是文章ID,我在數組中存儲評級值。
我已經使用sort($weight[$cQ][$post])
PHP函數升序。 但它沒有排序數組值。有沒有任何好的解決方案來排序數組升序。
Array
(
[0] => Array
(
[948] => 0.0086665
)
[1] => Array
(
[934] => 0.0119
)
[2] => Array
(
[932] => 0.0176
)
[3] => Array
(
[931] => 0.0125
)
[4] => Array
(
[940] => 0.0148
)
[5] => Array
(
[930] => 0.01235
)
[6] => Array
(
[933] => 0.01715
)
[7] => Array
(
[936] => 0.0168
)
[8] => Array
(
[945] => 0.0117665
)
)
用這個:
它假設每個數組只有一個元素,根據您的示例數組。 如果它有很多,請相應地修改它。
function cmp( $a, $b ) {
$key1 = array_keys( $a ); // all array keys in first array
$key2 = array_keys( $b ); // all array keys in second array
if ( $a[ $key1[ 0 ] ] == $b[ $key2[ 0 ] ] ) {
return 0;
}
return ( $a[ $key1[ 0 ] ] < $b[ $key2 [ 0 ] ] ) ? -1 : 1;
}
uasort($weight, 'cmp');
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.