Реклама на сайте Advertise with us

PHP: Позиция указателя в массиве

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

show me the money

С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263

Ссылка на сообщениеДобавлено: 26/11/07 в 10:32       Ответить с цитатойцитата 

Какой функцией устанавливается указатель в массиве в определенную позицию? Я такой функции в своем бумажном справочнике не нашел.

0
 

Снимаю. Порчу.

С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786

Ссылка на сообщениеДобавлено: 26/11/07 в 10:40       Ответить с цитатойцитата 

потому что её нет. объясни подробнее что ты хочешь сделать

Свободу Анжеле Дэвис!

0
 



С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760


Передовик Master-X (01.03.2005) Передовик Master-X (16.03.2005) Передовик Master-X (16.10.2016) Передовик Master-X (01.11.2016) Передовик Master-X (16.11.2016) Ветеран трепа Master-X (01.12.2016)
Ссылка на сообщениеДобавлено: 26/11/07 в 12:48       Ответить с цитатойцитата 

может ассоциативный массив подойдет?

0
 



С нами с 08.04.07
Сообщения: 30
Рейтинг: 5

Ссылка на сообщениеДобавлено: 26/11/07 в 12:54       Ответить с цитатойцитата 

reset($array) - в начало массива
end($array) - указатель в конец массива
next($array) - вперед на 1 позицию
prev($array) - назад

Не эти ли случайно?
Или я не понял вопроса...

Путь новобранца

0
 



С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760


Передовик Master-X (01.03.2005) Передовик Master-X (16.03.2005) Передовик Master-X (16.10.2016) Передовик Master-X (01.11.2016) Передовик Master-X (16.11.2016) Ветеран трепа Master-X (01.12.2016)
Ссылка на сообщениеДобавлено: 26/11/07 в 13:26       Ответить с цитатойцитата 


это не дает определенной позиции

0
 



С нами с 03.05.07
Сообщения: 801
Рейтинг: 825

Ссылка на сообщениеДобавлено: 26/11/07 в 13:38       Ответить с цитатойцитата 

Функций таких нет. foreach перебирать до нужной позиции, а потом делать break.

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

создай свою партнёрку

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 26/11/07 в 14:05       Ответить с цитатойцитата 

только прыгнуть на нулевую позицию и потом перебором на нужную.

Это только по резальту из базы данных можно по нужным позициям прыгать.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 16.11.07
Сообщения: 9

Ссылка на сообщениеДобавлено: 03/12/07 в 11:24       Ответить с цитатойцитата 

$position = 10; // первый элемент - 0, второй - 1, ...

reset($a);
for ($i=0; $i<$position; $i++) next($a);


или $a[$position] icon_smile.gif

0
 



С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950


Передовик Master-X (01.01.2008)
Ссылка на сообщениеДобавлено: 03/12/07 в 14:56       Ответить с цитатойцитата 

Я так понял стартер как раз хочет избежать "похода из начала" в нужную позицию, но чтобы потом продолжить пользоваться удобными функциями типа each().

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 04/12/07 в 06:27       Ответить с цитатойцитата 

Ну вообще это сделать можно, но не со стандартными массивами.

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

Если ТС это интересует - стукнись, объясню как сделать и пример сюда запосчу.

Мой блог: seo blog

0
 



С нами с 16.11.07
Сообщения: 9

Ссылка на сообщениеДобавлено: 04/12/07 в 20:14       Ответить с цитатойцитата 

Sha писал:
Я так понял стартер как раз хочет избежать "похода из начала" в нужную позицию, но чтобы потом продолжить пользоваться удобными функциями типа each().


малой кровью (без введения новых структур данных) можно сделать

$array2 = array_slice($array1, $position);

и потом делать всякие each.

Ограничения - больше памяти; нельзя просмотреть предыдущие элементы.

Обход первого ограничения. Если есть понимание, сколько именно элементов нужно, то надо добавить третий параметр
$array2 = array_slice($array1, $position, $limit);

Обход второго ограничиния (не совсем, но всё же):
$array2 = array_merge(array_slice($array1, $position), array_slice($array1, 0, $position));

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »