Использование массивов |
Содержание Previous Next |
QSP поддерживает работу с массивами. Массив - последовательный набор значений, имеющих один тип данных и обладающих одним названием. Элементы массива идентифицируются по индексам. Индексация ведётся с нуля. Т.е. элемент с индексом 0 - первый элемент массива, 1 - второй и т.д. В зависимости от типа элементов массива он может быть текстовым или числовым. В QSP каждый массив имеет и текстовые, и числовые значения. Если вы хотите обратиться к текстовым элементам массива, нужно перед его названием поставить символ "$", если к числовым - достаточно указать его название. Обращение к элементу массива происходит так: сначала указывается название массива (с символом "$" или без него), затем в квадратных скобках - числовое выражение, равное индексу элемента, к которому производится обращение. Т.е. "$A[6]" - обращение к текстовому значению элемента с индексом 6 (7-му) массива с названием "A", "NEW[2]" - обращение к числовому значению элемента с индексом 2 (3-му) массива с названием "NEW". Присваивание и считывание значений элементов массива происходит точно так же, как и при работе с переменной. Примеры:
A[2]=89 - присвоить числовому значению 3-го элемента массива "A" значение 89 $B[3]='Cool' - присвоить текстовому значению 4-го элемента массива "B" значение 'Cool' A=B[5] - присвоить числовому значению переменной "A" числовое значение 6-го элемента массива "B" $C=$MAS[54] - аналогично
Массивы могут индексироваться через строки. Регистр символов данной строки не имеет значения. Примеры:
$ARR['mystring'] = 'value' эквивалентно $arr['MyString'] = 'value' ARR['mystring'] = 890 $item_loc['палка'] = 'лес' $DESCS[$curloc] = '<<$DESCS[$curloc]>> text.' values['67'] = 87
Кроме этого, существует упрощённый синтаксис добавления элемента в массив - если индекс элемента не указан, то будет выбран элемент, следующий за последним. Например:
$objs[] = 'Топор' $objs[] = 'Напильник' $objs[] = 'Доска'
При получении значения, если индекс элемента не указан, то будет выбран последний элемент. Например:
$a = $objs[] a = objs[]
|