Курсор массива
Курсор массива
reset
Производит сброс курсора массива.
Синтаксис:
mixed reset(array arr)
Функция reset() устанавливает внутренний курсор массива arr на его начало и возвращает значение начального элемента.
Пример использования функции reset():
<?php
$array = array("step one", "step two", "step three", "step four");
// by default, the pointer is on the first element
echo current($array) . "<br />n"; // "step one"
// skip two steps
next($array);
next($array);
echo current($array) . "<br />n"; // "step three"
// reset pointer, start again on step one
reset($array);
echo current($array) . "<br />n"; // "step one"
?>
Функция поддерживается PHP 3, PHP 4, PHP 5
end
Производит перенос курсора в конец массива.
Синтаксис:
mixed end(array arr)
Функция end() устанавливает внутренний курсор массива arr на последний элемент и возвращает значение этого элемента.
Пример использования функции end():
<?php
$fruits = array("apple", "banana", "cranberry");
echo end($fruits); // cranberry
?>
Функция поддерживается PHP 3, PHP 4, PHP 5
next
Производит перенос курсора вперед.
Синтаксис:
mixed next(array arr)
Функция next() возвращает значение элемента, на котором в данный момент находится курсор, и перемещает курсор массива на следующий элемент. Возвращает false, если элементов больше не осталось.
Также false возвращается, если встречается элемент с пустым значением, следовательно для корректной работы с массивом, содержащим пустые элементы, лучще использовать функцию each().
Пример использования функции next():
<?php
$transport = array("foot", "bike", "car", "plane");
$mode = current($transport); // $mode = "foot";
$mode = next($transport); // $mode = "bike";
$mode = next($transport); // $mode = "car";
$mode = prev($transport); // $mode = "bike";
$mode = end($transport); // $mode = "plane";
?>
Функция поддерживается PHP 3, PHP 4, PHP 5
prev
Производит перенос курсора назад и возвращает предыдущее значени.
Синтаксис:
mixed prev(array arr)
Функция prev() перемещает курсор массива на предыдущий элемент и возвращает его значение. Возвращает false, если элементов больше не осталось.
Также false возвращается, если встречается элемент с пустым значением, следовательно для корректной работы с массивом, содержащим пустые элементы, лучще использовать функцию each().
Пример использования функции prev():
<?php
$transport = array("foot", "bike", "car", "plane");
$mode = current($transport); // $mode = "foot";
$mode = next($transport); // $mode = "bike";
$mode = next($transport); // $mode = "car";
$mode = prev($transport); // $mode = "bike";
$mode = end($transport); // $mode = "plane";
?>
Функция поддерживается PHP 3, PHP 4, PHP 5
current
Определение текущего элемента массива.
Синтаксис:
mixed current(array arr)
Каждый массив имеет внутренний указатель(курсор) текущего элемента. Обычно он указывает на первый элемент массива.
Функция current() возвращает значение элемента, на котором в данный момент находится курсор массива, при этом не сдвигая курсор.
Если указатель находиться за пределами массива, или массив пустой, то функция возвратит FALSE.
Пример использования функции current():
<?php
$transport = array("foot", "bike", "car", "plane");
$mode = current($transport); // $mode = "foot";
$mode = next($transport); // $mode = "bike";
$mode = current($transport); // $mode = "bike";
$mode = prev($transport); // $mode = "foot";
$mode = end($transport); // $mode = "plane";
$mode = current($transport); // $mode = "plane";
?>
Функция поддерживается PHP 3, PHP 4, PHP 5
pos
Определение текущего элемента массива.
Синтаксис:
mixed pos(array arr)
Эта функция синоним функции current().
key
Функция возвращает индекс текущего элемента массива.
Синтаксис:
mixed key(array arr)
Функция key() возвращает индекс текущего элемента массива.
Пример использования функции key():
<?php
$array = array(
"fruit1" => "apple",
"fruit2" => "orange",
"fruit3" => "grape",
"fruit4" => "apple",
"fruit5" => "apple");
// этот цикл пройдется по всему массиву
// и выведет имя ключа элемента массива
// значение которого равно "apple"
while ($fruit_name = current($array)) {
if ($fruit_name == "apple") {
echo key($array)."*<br />";
}
next($array);
}
?>
Функция поддерживается PHP 3, PHP 4, PHP 5
each
Получение текущего элемента массива.
Синтаксис:
array each(array arr)
Функция each() возвращает пару"индекс и значение" текущего элемента массива, на который указывает внутренний курсор, и сдвигает курсор массива на следующий элемент.
Пример использования функции each():
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
Массив $bar будет иметь ключи и значения:
Array( [1] => bob [value] => bob [0] => 0 [key] => 0)
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
Массив $bar будет иметь ключи и значения:
Array( [1] => Bob [value] => Bob [0] => Robert [key] => Robert)
Пример использования функции each():
Пролистывание массива
<?php
$fruit = array("a" => "apple", "b" => "banana", "c" => "cranberry");
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $valn";
}
?>
Пример выведет:
a => appleb => bananac => cranberry
Функция поддерживается PHP 3, PHP 4, PHP 5
array_walk
Применение пользовательской функции к элементам массива.
Синтаксис:
bool array_walk(array arr, callback function [, mixed userdata])
Функция array_walk() применяет пользовательскую функцию function к каждому элементу массива arr. В пользовательскую функцию передаются три или два (в случае, если аргумент userdata не указан) аргумента: значение текущего элемента, его индекс и аргумент userdata.
В случае, если function требует более трех аргументов, при каждом ее вызове будет выдаваться предупреждение. Чтобы блокировать выдачу этих предупреждений, поставте знак "@" перед функцией array_walk() или воспользуйтесь функцией error_reporting().
Функция function будет получать значения и индексы массива arr по занчению, т.е. не сможет вносить в него изменения. Если это необходимо, передайте аргумент arr по ссылке, указав перед его именем "&", и тогда все изменения отразяться в массиве.
В PHP 4 необходимо явно вызывать функцию reset(), чтобы установить внутренний курсор на первый элемент.
Пример использования функции array_walk():
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />n";
}
echo "Before ...:n";
array_walk($fruits, "test_print");
array_walk($fruits, "test_alter", "fruit");
echo "... and after:n";
array_walk($fruits, "test_print");
?>
Приведенный пример выведет следующее:
Before ...:d. lemona. orangeb. bananac. apple... and after:d. fruit: lemona. fruit: orangeb. fruit: bananac. fruit: apple
Функция поддерживается PHP 3 = 3.0.3, PHP 4, PHP 5
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Создание массива
Создание массива arrayСоздание и инициализация массива.Синтаксис:array array([mixed ...])Функция возвращает созданный массив. Индексы и значения в массиве разделяются оператором =. Пары index=value разделяются запятыми, они определяют индекс и значение.Индекс может быть как числовым, так
6.6. Курсор программы-осциллографа PROBE
6.6. Курсор программы-осциллографа PROBE Наверняка в ходе этого учебного курса вам уже не раз хотелось точно определить пару значений для какой-либо одной точки на диаграмме, созданной в PROBE. До сих пор в таких случаях вам приходилось выяснять координаты точки на диаграмме с
Курсор текущей позиции редактирования
Курсор текущей позиции редактирования Курсор текущей позиции редактирования служит для нахождения нужного кадра в клипе, что позволяет точно произвести монтаж клипов или их подрезку.В верхней части курсора текущей позиции редактирования расположен ползунок, при
Данные массива
Данные массива При работе с массивами нужно помнить следующее.* Можно создавать массивы данных любых типов. VBA с успехом хранит в массивах строки, даты, денежные значения и данные любых числовых типов.* В одном массиве могут храниться данные только одного типа. Нельзя
8.1.5. Сортировка массива
8.1.5. Сортировка массива Самый простой способ отсортировать массив — воспользоваться встроенным методом sort:words = %w(the quick brown fox)list = words.sort # ["brown", "fox", "quick", "the"]# Или отсортировать на месте:words.sort! # ["brown", "fox", "quick", "the"]Здесь предполагается, что все элементы массива сравнимы
8.1.10. Рандомизация массива
8.1.10. Рандомизация массива Иногда нужно переставить элементы массива в случайном порядке. Первое, что приходит на ум, — тасование карточной колоды, но есть и другие применения — например, случайная сортировка списка вопросов.Для решения этой задачи пригодится метод rand из
8.1.18. Обход массива
8.1.18. Обход массива Как и следовало ожидать, в классе Array есть стандартный итератор each. Но имеются и другие полезные итераторы.Метод reverse_each обходит массив в обратном порядке. Результат такой же, как если бы мы вызвали сначала метод reverse, а потом each, но работает быстрее.words =
8.1.20. Обращение массива
8.1.20. Обращение массива Чтобы переставить элементы массива в обратном порядке, воспользуйтесь методами reverse или reverse!:inputs = ["red", "green", "blue"]outputs = inputs.reverse # ["green","blue","red"]priorities = %w(eat sleep code)priorities.reverse! #
Использование массива
Использование массива Предположим, у нас есть массив структур. Имя массива является синонимом его адреса, поэтому его можно передать функции. С другой стороны, функции будет необходим доступ к структурному шаблону. Чтобы показать, как такая программа работает (рис.
Объявление массива
Объявление массива Синтаксис:[<спецификация типа]> <описатель> [<константное выражение>];[<спецификация типа]> <описатель> [];Квадратные скобки, следующие за описателем, являются элементом языка Си, а не признаком необязательности синтаксической
Курсор
Курсор ClipCursor Функция ClipCursor заключает курсор в прямоугольную область на экране. Если последующая позиция курсора (установленная функцией SetCursorPos или мышью) лежит вне этой прямоугольной области, Windows автоматически устанавливает координату для сохранения курсора внутри
Внутренний курсор
Внутренний курсор При чтении в потоке сервер базы данных использует указатель, чей адрес изменяется при продвижении чтения от начала к концу. Этот указатель называется курсором - не путайте с курсором набора, который создается в SQL с помощью DECLARE CURSOR. Внутренние курсоры
Свойства массива
Свойства массива Некоторые замечания о классе.[x]. Подобные классы существуют для массивов большей размерности: ARRAY2 и т. д.[x]. Компонент Count может быть реализован и как атрибут и как функция, поскольку count = upper - lower+1. В реальном классе это выражается инвариантом, как