Функция next(имя_массива) перемещает внутренний курсор массива на один элемент вправо и возвращает значение нового элемента (или значение false, если достигнут последний элемент). Prev(имя_массива) осуществляет то же самое, но в противоположном направлении.
Массивы могут использовать в качестве индексов и строки: $countries[“ru”] = “Russia”;
$countries[“en”] = “England”; $countries[“de”] = “Germany”; $countries[“us”] = “USA”;
echo (“$countries[de]”); // выводит “Germany”
Строка в PHP может рассматриваться как массив символов, поэтому можно обращаться к
символу в строке как к элементу массива: $a=”Hello”;
echo(“$a[0]”); //Первый символ в строке - H
PHP использует в качестве оператора конкатенации строк символ точки (.): $a = “Hello”;
$b = “world”; $c = $a . $b;
Есть также сокращенный оператор, .= :
$a .= $b //эквивалентно $a = $a . $b)
Если между элементами строки требуется включить пробелы или перевод строки, то это
придется делать вручную. С помощью оператора «точка» можно объединить несколько строк: $a = “Hello”;
$b = “world”;
$c = “<b>” . $a . “ “ . $b . “<b>”;
substr()
String substr(string string, int start [, int length])
Функция возвращает часть строки. Первый аргумент – вся строка, второй – положение в строке первого символа, который следует вернуть (начиная отчет с нуля), тогда как третий – положение последнего символа в строке, которую требуется вернуть. Если третий аргумент не
указан, то предполагается, что надо включить всю оставшуюся часть строки: $string1 = substr(“The cat sat on the mat”, 4, 3); // ‘cat’
$string2 = substr(“The frog sat on the log”, 0, 1); // ‘T’
trim()
Она принимает один аргумент, строку, и удаляет предшествующие или замыкающие
пробелы:
$string1 = trim(“ a lot of space “); //‘a lot of space’
или
$a = “ a lot of space “; $a = trim($a);
chr() и ord()
Функция chr() принимает в качестве аргумента ASCII-код символа и возвращает фактический символ. Функция ord() производит обратное действие.
strlen()
6
Функция strlen() принимает один аргумент, строку, и возвращает длину строки в символах
как целое число, например:
$string1 = strlen(“one”); // ‘3’
printf() и sprintf()
printf() и sprintf() являются двумя родственными форматирование данных. Функция sprintf() осуществляет возвращает строку, тогда как printf() выполняет ту же
непосредственно в выходной поток – в броузер или на консоль. int printf (string format [, mixed args…])
функциями, выполняющими требуемое форматирование и задачу, но выводит результат
string sprintf(string format [mixed args…])
Аргумент format представляет собой строку, содержащую текст, который помещается без изменений в отформатированную строку, и спецификации преобразования. В списке аргументов необходимо указать аргумент для каждой спецификации преобразования, имеющейся в строке формата. Значения аргументов будут отформатированы согласно спецификации и помещены в строку на место спецификации преобразования.
Спецификация представляет собой символ процента (%), за которым следует до пяти спецификаторов в следующем порядке:
Спецификатор заполнения
Устанавливает символ, которым строка заполняется до заданного размера. Если опущен, используется пробел. Действует только при наличии спецификатора минимальной ширины.
Спецификатор выравнивания Обычно дополнение строки до минимальной ширины производится с левого конца, т.е.
строки выравниваются по правому краю, но если добавить символ дефиса (-), то строка выравнивается по левому краю.
Спецификатор минимальной ширины
Целое число, задающее минимальный размер форматированной строки. Если переданная строка меньше, она дополняется пробелами или символом, указанным в спецификаторе заполнения.
Спецификатор точности Для чисел с плавающей точкой можно указать количество десятичных знаков в
представлении. Спецификатор записывается в виде десятичной точки и целого числа, определяющего количество отображаемых десятичных знаков. Этот спецификатор можно применять для форматирования строк, и тогда он определяет максимальное количество символов, которое берется из переданной строки.
Спецификатор типа Этот спецификатор указывает на тип данных, которые будут переданы в качестве
аргумента, а для целых чисел – и режим отображения. Он может принимать одно из следующих значений:
b – целое число, представляемое в двоичном виде
c – целое число, представляемое в виде символа, имеющего тот же код ASCII d – целое число, представляемое в десятичном виде
f – число с плавающей точкой, представляемое в виде десятичной дроби (с десятичной точкой)
o – целое число, представляемое в восьмеричном виде s – строка (тип string)
x – целое число, представляемое в шестнадцатеричном виде (буквами нижнего регистра) X – целое число, представляемое в шестнадцатеричном виде (буквами верхнего регистра) Кроме того, чтобы включить в форматированную строку литеральное представление
процента, надо записать его два раза (%%).
Пример 1. Форматирование даты: $day = 5;
$month = 4;
7
$year = 2005;
printf(“%02d/%02d/%04d”, $day, $month, $year);
Этот код выводит следующий результат: |
05/04/2005 |
В данном формате три спецификации преобразования – для дня, месяца и года. Месяц и день мы форматируем как двузначные целые числа, а год – как четырехзначное. Для этого мы должны указать, что целые числа дополняются до минимальной длины нулями слева. Поэтому спецификация преобразования для месяца, например, выглядит как %02d. Первый символ представляет собой спецификатор заполнения и равен нулю. Спецификатора выравнивания нет, потому что дополнение должно дописываться к началу числа. Спецификатор минимальной ширины равен 2. Поскольку форматируется целое число – спецификатор типа d, указывающий функции printf() на необходимость форматировать число как десятичное целое.
Пример 2. Форматирование денежной единицы: |
|
$value = 25; |
|
$value = sprintf(“$%.2f”, $value); |
|
Он выводит следующий результат: |
$25.00 |
Спецификатор преобразования с плавающей точкой %.2f просто сообщает функции, что надо оставить только два знака после десятичной точки. Заполнение или минимальная длина не заданы, поэтому число слева от точки может иметь любой размер.
11. Элементы формы
Однострочные поля ввода:
<input type=text name=имя [value=значение] [size=размер] [maxlen=длина]>
Список выбора:
<select name=sort size=1>
<option selected>1 сорт</option> <option>2 сорт</option>
</select> <option>3 сорт</option>
При этом сценарию будет передана переменная с именем $sort. Например, $sort=”1 сорт”.
Переключатели независимые (флажки):
<input type=checkbox name=имя value=значение
[checked]>
Переключатели зависимые (радиокнопки):
<input type=radio name=имя value=значение
[checked]>
Если у нас есть несколько зависимых переключателей, то у них у всех будет одно и то же имя. Сценарию передается имя и значение того переключателя, который был выбран пользователем.
PHP также понимает массивы в контексте переменных формы. Вы можете, например, сгруппировать взаимосвязанные переменные или использовать эту возможность для запроса
значений из списка множественного выбора select:
<form action="array.php" method="post">
Name: <input type="text" name="personal[name]"><br>
Email: <input type="text" name="personal[email]"><br>
Beer: <br><select multiple name="beer[]">
<option value="warthog">Warthog <option value="guinness">Guinness <option value="stuttgarter">Stuttgarter </select>
8
<input type="submit"> </form>
9