2014-02-18 3 views
2

У меня есть цикл Еогеаспа как этотPHP убыванию массива сохраненного из цикла Еогеаспа значения

$ids = array(); 
foreach($idsvalues as $idv){ 
    $ids[$idv->id][] = $idv->value; 
} 

и я получаю массив как этого

Array ([21] => 10 [13] => 16 [12] => 20 [7] => 28) 

теперь как я нисходящем этот массив() значение только от самого низкого до самого высокого без использования ключей массива или идентификатора? , чтобы показать, как этот

Array ([21] => 28 [13] => 20 [12] => 16 [7] => 10); 

массив может содержать до 100 таких идентификаторов и значений, так в основном только по убыванию значения?

ответ

5

Поскольку вы хотите сохранить ключи, передать их в отдельный массив с помощью array_keys Теперь rsort вашего массива (т.е. порядке убывания), использовать array_combine связать награбленных ключи и нисходящий отсортированных значения.

<?php 
$arr=Array (21 => 10, 13 => 16, 12 => 20, 7 => 28); 
$k_arr=array_keys($arr); 
rsort($arr); 
$new_arr=array_combine($k_arr,$arr); 
print_r($new_arr); 

OUTPUT :

Array 
(
    [21] => 28 
    [13] => 20 
    [12] => 16 
    [7] => 10 
) 

Demo

+1

Array ([21] => 28 [13] => 20 [12] => 16 [7] => 10), Shokrya @Shankar ваше решение является правильным. – Genus

Смежные вопросы