Вопрос по поводу массивов......

stealthgt

Новичок
Вопрос по поводу массивов......

Короче есть сложный исходник.....
в нем есть строчка

shuffle($array);

перемешивается массив.... мне это совсем не нужно... при попытке убрать эту строчку нарушается дальнешее выполнение программы.....

ставлю rsort($array); - все работает.....

как обойти это??? или как сделать реальную сортировку чтобы она ничего не меняла в самом массиве......

или может кто знает в чем может быть тут проблема...... может как то открыть надо массив... или еще что....

заранее спасибо!
 

.des.

Поставил пиво кому надо ;-)
Спросите у автора этого исходника.
 

stealthgt

Новичок
Автор оригинала: .des.
Спросите у автора этого исходника.
если бы был автор... то не писал бы сюда.......


вопрос следующий как сделать сортировку которая ничего не поменяет в массиве.......

либо сортировку и затем сразу обратную сортировку... чтобы массив вернулся в прежнее состояние..
 

.des.

Поставил пиво кому надо ;-)
Автор оригинала: stealthgt
если бы был автор... то не писал бы сюда.......
Здесь помогают по конкретным вопросам, а не в грязных хаках чужих скриптов.


Автор оригинала: stealthgt
если бы был автор... то не писал бы сюда.......
вопрос следующий как сделать сортировку которая ничего не поменяет в массиве.......
либо сортировку и затем сразу обратную сортировку... чтобы массив вернулся в прежнее состояние..
Сами то понимаете, чего Вы хотите?
 

denver

?>Скриптер
кажись я догоняю из-за чего это :)
попробуй вместо shuffle($array) сделать
$array = array_values($array)
 

.des.

Поставил пиво кому надо ;-)
denver надо будет кстати указать в мануале что array_values это частный случай сортировки массивов, которая ничего не меняет.
 

stealthgt

Новичок
Короче причину нашел....

в исходнике использовалось array_shift сразу поосле shuffle...
изза этого все рушилось.... не передавались значение c помощью array_shift....

заменил на array_pop

все прекрасно заработало..... понять почему до сих пор немогу....
ошибки вроде никакой небыло....
 

Апокалипсис

тех дир matras.ru
ну мы же не телепаты и не обладаем экстрасенсорными возмонжностями что там было в этом коде(((
 

john.brown

просто кулибин
А что из себя представлял $array[0]? Может в нем собака порыта была :)
 

denver

?>Скриптер
Автор оригинала: .des.
denver надо будет кстати указать в мануале что array_values это частный случай сортировки массивов, которая ничего не меняет.
Из мана:
array_values() returns all the values from the input array and indexes numerically the array.
Так что практически так и есть :D
(shuffle, rsort тоже меняет ключи в массиве на нумерацию, я думал что далее идет перебор с помощью for или while)

-~{}~ 05.09.06 10:46:

stealthgt
в исходнике использовалось array_shift сразу поосле shuffle...
изза этого все рушилось.... не передавались значение c помощью array_shift....

заменил на array_pop
Ну надо же как просто :)
Ничего не кажется странным в вашей логике?
1. Тасуем и берем первый элемент (работает)
2. Не тасуем и берем первый (валится)
3. Не тасуем и берем последний (работает)
 
Сверху