Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Мужики, а существуют ли функции для ротации массива?
 
 автор: Zilog   (03.11.2012 в 18:52)   письмо автору
 
 

Мужики, а существуют ли функции для ротации одномерного массива?

Скажем, дали так:

array('Воскресенье', 'Понедельник','Вторник','Среда','Четверг','Пятница','Субота');


а надо начать с понедельника. и что, вручную всё перебирать?

  Ответить  
 
 автор: confirm   (03.11.2012 в 19:03)   письмо автору
 
   для: Zilog   (03.11.2012 в 18:52)
 

Это не ротация а сдвиг, и функции для этого нет. Вы заглядываете вообще в описание разделов РНР? Неужели это трудно сделать, чтобы не спрашивать какие есть функции, а каких нет?
А если заглянете, все таки, то найдете две функции - array_pop и array_push.

  Ответить  
 
 автор: Zilog   (03.11.2012 в 19:20)   письмо автору
 
   для: confirm   (03.11.2012 в 19:03)
 

>Это не ротация а сдвиг

Судя по вашему тону, вас паяльником заставляют писать. И на том спасибо.
Я надеялся, что в php могла бы оказаться функция аналогичная Rotate And Roll
http://helpsite.narod.ru/asm/386/65.htm

  Ответить  
 
 автор: confirm   (03.11.2012 в 19:26)   письмо автору
 
   для: Zilog   (03.11.2012 в 19:20)
 

Причем тут тон? Можно понять, когда спрашивают о проблеме, но чтобы вам еще перечислять чего есть, а чего нет в языке, так это с чьей стороны мягко выражаясь "хамство"?

Ротация, это замена, а начать со следующего, переставив первый в конец, это таки сдвиг будет.
Но зачем? Пропишите массив так, как и требуется, зачем его гонять? Ну и второе, если это для вывода дней недели по текущей дате, то это функцией strftime(), без всяких доп. массивов.

  Ответить  
 
 автор: Zilog   (04.11.2012 в 01:20)   письмо автору
 
   для: confirm   (03.11.2012 в 19:26)
 

>Причем тут тон? Можно понять, когда спрашивают о проблеме, но чтобы вам еще перечислять чего есть...

Кто где и когда вас просил что-то перечислять? Посмотрите ещё раз как сформулирован вопрос.

>Ротация, это замена, а начать со следующего, переставив первый в конец, это таки сдвиг будет.

Ротация — это замена? #8-[ ]

В словаре: РОТАЦИЯ -и; ж. [от лат. rotatio - круговращение] 1. Последовательное постепенное перемещение элементов какой-л. структуры с места на место,

В ассемблере, например команда ROL (Rotate Without Carry)
Схема работы команды: http://www.c-jump.com/CIS77/asm_images/ROL.png

  Ответить  
 
 автор: confirm   (04.11.2012 в 05:44)   письмо автору
 
   для: Zilog   (04.11.2012 в 01:20)
 

>Кто где и когда вас просил что-то перечислять?

Зачем спрашивать есть ли функция? На такие вопросы ответ ищите сами, ну не в службу же 09 превращать форум.

>Ротация — это замена?

Мы тут практически об одном и том же, только вы непосредственно о значении термина (значит для себя ищите в описаниях на английском), а я о сути происходящего. У нас ротацией и обновление называют.

Что касается ассемблера, то суть этих команд описывается как сдвиг (логический, арифметический, и т.д.), а вам нужен циклический сдвиг с учетом флага переноса, то есть, сдвиг по кольцу. И в РНР, будь подобная функция, она бы описывала не "ротацию", а "сдвиг". Как описываются операторы << и >> ?
<?
array_push
($arrayarray_shift($array));
Если будете выполнять в цикле, значит и получите постоянный циклический сдвиг элементов массива влево.

Но РНР не ассемблер, и есть у него функции работы с датами, и среди них есть та, что, в зависимости от установленной локали, будет выдавать информацию на указанном языке. То есть, не надо массивов описывающих дни, месяцы на русском языке, забыли об ассемблере, и смотрим раздел этих функций языка.

  Ответить  
 
 автор: Zilog   (05.11.2012 в 16:53)   письмо автору
 
   для: confirm   (04.11.2012 в 05:44)
 

> У нас ротацией и обновление называют.
>Что касается ассемблера

У кого, это, "у нас"? Ротация — это ротация, что вы людям мозги пудрите, какое нафиг обновление?

А что касается ассемблера, то вы его не знаете или не понимаете. Чем ротация отличается от циклического сдвига? Не тем ли, что во втором случае мы описываем явление двумя словами всместо одного? Вас не задумывает тот факт, что сама команда, например, ROR на вражском языке звучит как ROtate Right?

Слово "ротация" http://ru.wiktionary.org/wiki/%F0%EE%F2%E0%F6%E8%FF
А флаг переноса — это всего лишь флаг переноса, в приведённых командах ассемблера, к непосредственно к циклическому сдвигу (ротации) отношения не имеет. Он только реагирует на то, какой бит выходит "за край".

Вы успокойтесь, не берите на себя лишнего. Речь не о датах и локалях.
То, что нужных функций нет уже давно ясно.

  Ответить  
 
 автор: confirm   (05.11.2012 в 17:08)   письмо автору
 
   для: Zilog   (05.11.2012 в 16:53)
 

>У кого, это, "у нас"?

В России.

Я вам уже вроде бы сказал, что отвечаю вам не на вражеском языке, а на русском, и ищите вы среди русского, поэтом не надо пугать терминами - просто не найдете вы в руководстве РНР, если будет искать "ротацию". А о командах ассемблера я и без вас осведомлен.

  Ответить  
 
 автор: Zilog   (05.11.2012 в 17:13)   письмо автору
 
   для: confirm   (05.11.2012 в 17:08)
 

>В России.
Значит мы в разных Россиях. А в нашей России обновление и ротацию не путают.

>отвечаю вам не на вражеском языке, а на русском, и ищите вы среди русского,
Вас в предыдущем посте ожидает ссылка на пояснения и этимологию к слову "ротация", на русском языке. добро пожаловать.

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

  Ответить  
 
 автор: confirm   (05.11.2012 в 17:30)   письмо автору
 
   для: Zilog   (05.11.2012 в 17:13)
 

Я обыкновенный. Об этимологии, это не ко мне, а к тем что так используют, например, депутатам.

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

Вы с этой ротацией так же как и разделе HTML - текстарея, и прочая абракадабра. Нет текстареи, есть текстовая область, как нет и ротации в функциях работы с массивами, есть понятие сдвига элементов. Не нравится, значит ищите в первоисточниках.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования