Сортировать ряды двухмерного массива одиночным ключом в каждой строкеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сортировать ряды двухмерного массива одиночным ключом в каждой строке

Сообщение Anonymous »

Я хочу сортировать целую кучу ключей в массиве. Пары ключа имеют большое количество и имя. Он неверно сортирует массивы на небольших числах, и становится еще хуже, когда числа становятся слишком большими, чтобы их хранить в качестве целых чисел. Если целые числа слишком велики, они хранятся как струны в массиве. И эти струны вообще не сортируют, оставаясь в одном месте. < /p>

Все, что я хочу сделать, это сортировать пары клавиш от наибольшего до наименьшего.
Я понятия не имею, как это сделать, так как функции сортировки полностью терпят неудачу.

Я признателю любую помощь, которую я могу получить. < /p>

Вот мой код: < /p>


< /code>

Обновление: < /strong>
Я запускаю больше примеров, чтобы проверить, правильно ли он сортирует все не строковые значения, и оказывается, что это не (где ранее это работало сейчас, он не удается)
У меня есть массив < /p>

array(3) { [0]=> array(1) { [1800000000]=> string(6) "Robert" } [1]=> array(1) { [591000000]=> string(6) "albert" } [2]=> array(1) { [1100000000]=> string(4) "Anna" } }
< /code>

И когда я запускаю krsort () на нем, он возвращает < /p>

array(3) { [2]=> array(1) { [1100000000]=> string(4) "Anna" } [1]=> array(1) { [591000000]=> string(6) "albert" } [0]=> array(1) { [1800000000]=> string(6) "Robert" } }
< /code>

, который не является правильным правильным результатом, -
1800000000,
1100000000,
591000000 < /p>
< Br /> Я пытался преобразовать эти строки в поплавки, но в основном это заставило их выходить как отрицательные числа. Поэтому я попытался перейти на другой путь, преобразовав небольшие INT в струны, но странно то, что они уже были струнами. Кажется, что они преобразуются в INT, когда я формирую пару значений ключей внутри массива. < /p>

Кто -нибудь знает, что происходит? Я использую KRSORT неправильно, проблема все еще потому, что цифры слишком большие? мой массив < /p>

array(1) { [0]=> array(1) { ["4430000000"]=> string(3) "son" } }
< /code>

Обратите внимание на «оценки» вокруг числа, где в предыдущих массивах его нет < /p>

update2: < /strong> < /p>

ОК, так что я знаю, что это не имеет ничего общего с тем, насколько велики целые числа.
i поместил этот код для проверки $ results = substr ($ results, 0, -3); < /code>
Но я все еще получаю неверные результаты < /p>

array(3) { [2]=> array(1) { [1550]=> string(5) "Reeta" } [1]=> array(1) { [1800000]=> string(6) "Robert" } [0]=> array(1) { [1090000]=> string(4) "Anna" } }
< /code>

Я также изменил клавиши и значения и пробудил сортировку с помощью arsort () < /code> с теми же результатами < /p>

Если кто -то может объяснить, почему строки конвертируются в INT, когда они становятся клавишами в массивах, которые также были бы очень оценены. < /p>

Вот руководство KRSORT.

Подробнее здесь: https://stackoverflow.com/questions/131 ... n-each-row
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»