show me the money
С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263
|
Добавлено: 26/11/07 в 10:32 |
Какой функцией устанавливается указатель в массиве в определенную позицию? Я такой функции в своем бумажном справочнике не нашел.
|
|
|
|
Снимаю. Порчу.
С нами с 25.12.99
Сообщения: 1234
Рейтинг: 786
|
Добавлено: 26/11/07 в 10:40 |
потому что её нет. объясни подробнее что ты хочешь сделать
|
|
|
|
С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760
|
Добавлено: 26/11/07 в 12:48 |
может ассоциативный массив подойдет?
|
|
|
|
С нами с 08.04.07
Сообщения: 30
Рейтинг: 5
|
Добавлено: 26/11/07 в 12:54 |
reset($array) - в начало массива
end($array) - указатель в конец массива
next($array) - вперед на 1 позицию
prev($array) - назад
Не эти ли случайно?
Или я не понял вопроса...
|
|
|
|
С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760
|
Добавлено: 26/11/07 в 13:26 |
это не дает определенной позиции
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 26/11/07 в 13:38 |
Функций таких нет. foreach перебирать до нужной позиции, а потом делать break.
Такое обычно не нужно. Если столкнулся, значит есть другой вариант решения проблемы.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 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]
|
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 03/12/07 в 14:56 |
Я так понял стартер как раз хочет избежать "похода из начала" в нужную позицию, но чтобы потом продолжить пользоваться удобными функциями типа each().
|
|
|
|
С нами с 16.04.05
Сообщения: 754
Рейтинг: 352
|
Добавлено: 04/12/07 в 06:27 |
Ну вообще это сделать можно, но не со стандартными массивами.
Нужно просто написать класс - хранилище, с методами нужным, с передвижением маркера на любую позицию, и с функцией создания себя из массива.
Если ТС это интересует - стукнись, объясню как сделать и пример сюда запосчу.
|
|
|
|
С нами с 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));
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |