2016-08-03 51 views
-1

如何整理$rr的价值?$rr[xx]->label作为升序?PHP - 如何通过其数组值排序整个数组?

$result=curl_exec ($ch); 
$rr = json_decode($result);  
foreach($rr as $k=>$v) { 
    echo $v->label . ' - ' . $v->id . '<Br/>'; 
} 

输出:

Oman - 500 
Uk - 99 
America - 100 
Denmark - 120 

预期输出(由标签排序):

America - 100 
Denmark - 120 
Oman - 500 
Uk - 99 
+1

['usort'](HTTP:// PHP .net/usort) –

+1

http://php.net/array_multisort向下滚动到e xample#3 – Bert

+1

@Bert multisort比需要更复杂。只需一行代码即可:'usort($ rr,function($ a,$ b){return $ a-> label> $ b-> label;});'参见本演示:https:// 3v4l。 org/AKOPl – BeetleJuice

回答

2
<?php 
    $arr= array("Oman"=>"500","uk"=>"99","America "=>"100","Denmark "=>"120"); 
    ksort($arr); 

    foreach($arr as $x => $x_value) { 
    echo "Key=" . $x . ", Value=" . $x_value; 
    echo "<br>"; 
    } 
?> 

使用ksort - sorts an associative array in ascending order, according to the value

+0

所以首先:'$ rr = json_decode($ result);做ksort;然后$ rr = json_encode($ rr); echo $ rr;'以便Javascript现在可以使用该排序的输出? – YumYumYum