Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

miro7975 avatar miro7975 2 Точки

SORTING ASSOCIATIVE ARRAYS IN PHP

Здравейте,

Имам следния проблем, на който не мога да намеря решение - как да сортирам асоциативен масив по низходящ ред
на стойностите, като елемените от масива с еднакви стойности запазят последователността си, който имат в 
несортирания масив, например масивът [ 'A' => 0, 'B' => 1, 'C' => 1, 'D' => 0 ] да стане 
[ 'B' => 1, 'C' => 1, 'A' => 0, 'D' => 0 ]. 
За съжаление с uasort не става. Ако използвам uasort( $arr, function($a,$b){return $b-$a;} ); (където $arr е 
несортираният масив) се получава [ 'C' => 1, 'B' => 1, 'A' => 0, 'D' => 0 ]. Елементите от масива със стойност 0,
се появяват в сортирания масив в същата последователност, както и в стария масив,т.е. първо е този с ключ 'A', а 
след него е този с ключ 'D', но по някаква причина елементите със стойност 1 са в обратен ред - 'C' => 1, 'B' => 1
вместо 'B' => 1, 'C' => 1.

Тагове:
1
PHP Fundamentals
miro7975 avatar miro7975 2 Точки

Да, това е точно, което ми трябва. Мислех си, че може да има някоя друга функция, подобна на uasort, за която е сигурно, че не променя последователността на ключовете при сортиране по стойност, когато стойностите са еднакви, но ако няма, то кодът, който си написал, е най-добрата алтернатива. Благодаря много!

0
28/07/2018 11:03:46
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.