Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помощь по сортировке массива
Форумы портала PHP.SU » » Вопросы новичков » Помощь по сортировке массива

Страниц (1): [1]
 

1. Exponat - 11 Апреля, 2017 - 12:26:48 - перейти к сообщению
Добрый день.
Есть такой вывод var_damp($mod[$arParams['SECTION_ID']]):
CODE (htmlphp):
скопировать код в буфер обмена
  1. array (size=7)
  2.   'Детали кузова' =>
  3.     array (size=9)
  4.       'chetvert-zadnyaya-levaya' => string 'Четверть задняя левая(2)' (length=43)
  5.       'bamper-perednij' => string 'Бампер передний(2)' (length=32)
  6.       'krylo-perednee-levoe' => string 'Крыло переднее левое(3)' (length=41)
  7.       'krylo-perednee-pravoe' => string 'Крыло переднее правое(2)' (length=43)
  8.       'chetvert-zadnyaya-pravaya' => string 'Четверть задняя правая(1)' (length=45)
  9.       'chetvert-perednyaya-pravaya' => string 'Четверть передняя правая(1)' (length=49)
  10.       'chetvert-perednyaya-levaya' => string 'Четверть передняя левая(1)' (length=47)
  11.       'bamper-zadnij' => string 'Бампер задний(1)' (length=28)
  12.       'kapot' => string 'Капот(2)' (length=13)
  13.   'Двери, багажник и компоненты ' =>
  14.     array (size=3)
  15.       'kryshka-bagazhnika' => string 'Крышка багажника(1)' (length=34)
  16.       'dver-perednyaya-levaya' => string 'Дверь передняя левая(1)' (length=41)
  17.       'dver-zadnyaya-levaya' => string 'Дверь задняя левая(1)' (length=37)
  18.   'Фары, фонари и зеркала' =>
  19.     array (size=1)
  20.       'fara-levaya' => string 'Фара левая(1)' (length=22)
  21.   'Трансмиссия' =>
  22.     array (size=2)
  23.       'kpp' => string 'КПП(3)' (length=9)
  24.       'poluos-pravaya' => string 'Полуось правая(2)' (length=30)
  25.   'Детали двигателя' =>
  26.     array (size=2)
  27.       'abs' => string 'АБС(1)' (length=9)
  28.       'vpusknoj-kollektor' => string 'Впускной коллектор(4)' (length=38)


Подскажите как можно сделать сортировку по алфавиту с сохранением данных, чтобы было:
Двери, багажник и компоненты
Детали двигателя
Детали кузова
Трансмиссия
Фары, фонари и зеркала

Спасибо.
2. Мелкий - 11 Апреля, 2017 - 13:30:41 - перейти к сообщению
ksort?
3. Exponat - 11 Апреля, 2017 - 15:07:24 - перейти к сообщению
Мелкий пишет:
ksort?
если пишу ksort($mod[$arParams['SECTION_ID']]); порядок немного меняется но все равно не по алфавиту. Можете подсказать что-то еще?
4. Мелкий - 11 Апреля, 2017 - 15:13:59 - перейти к сообщению
С примером, пожалуйста.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $rg = [
  3.     'Детали кузова' => 0,
  4.     'Двери, багажник и компоненты ' =>1,
  5.     'Фары, фонари и зеркала' => 2,
  6.     'Трансмиссия' =>3,
  7.     'Детали двигателя' => 4,
  8. ];
  9. ksort($rg);
  10. var_dump($rg);

Цитата:
array(5) {
["Двери, багажник и компоненты "]=>
int(1)
["Детали двигателя"]=>
int(4)
["Детали кузова"]=>
int(0)
["Трансмиссия"]=>
int(3)
["Фары, фонари и зеркала"]=>
int(2)
}
5. Exponat - 11 Апреля, 2017 - 15:31:54 - перейти к сообщению
Спасибо, вы правы.
У меня в массиве оказывается есть скрытый html символ который мешал сортировке.

 

Powered by ExBB FM 1.0 RC1