Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP программы.doc
Скачиваний:
2
Добавлен:
06.08.2019
Размер:
266.75 Кб
Скачать

Void parse_str(string str [, array arr])

Функция parse_str() интерпретирует строку str так, как если бы эта строка содержала в себе переменные и их значения и передавалась бы в URL. Т.е. функция устанавливает для этих переменных значения. Если задан второй необязательный параметр arr, то значения, найденные при помощи функции parse_str(), сохраняться не в глобальных переменных, а в элементах указанного массива. Пример приводить не буду, вроде все понятно.

rawurlencode()

Функция кодирования URL.

Синтаксис:

string rawurlencode(string str)

Функция rawurlencode возвращает строку, в которой все не алфавитно-цифровые символы, за исключением дефиса "-", знака подчеркивания "_" и точки ".", заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры, обозначающие код символа. Кодирование нужно для того, чтобы буквенные символы не обрабатывались как разделители URL-строки и не искажались при передаче в сетях.

rawurldecode()

Производит декодирование URL.

Синтаксис:

string rawurldecode(string str)

Думаю, что с этой функцией все понятно, добавлю лишь, что она аналогична функции urldecode(), но не воспринимает "+" как пробел.

Давайте для примера на эти две функции что-нибудь закодируем и раскодируем.

<?

$url = "http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=софттайм&lr=";

echo("исходная строка: $url");echo("<br>");

echo("закодировали:");echo("<br>");

$url_code = rawurlencode($url);

echo($url_code);echo("<br>");

echo("и раскодировали:");echo("<br>");

$url_decode = rawurldecode($url_code);

echo($url_decode);

?>

И вот что получилось:

исходная строка: http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=софттайм&lr= закодировали: http%3A%2F%2Fwww.google.com.ru%2Fsearch%3Fhl%3Dru%26ie%3DUTF-8%26oe%3DUTF-8%26q%3D%F1%EE%F4%F2%F2%E0%E9%EC%26lr%3D и раскодировали: http://www.google.com.ru/search?hl=ru&ie=UTF-8&oe=UTF-8&q=софттайм&lr=

base64_encode()

Функция кодирует данные в кодировке MIME base64.

Синтаксис:

string base64_encode(string data)

Функция base64_encode() возвращает строку, переданную в параметре data в кодировке MIME base64.

Кодировка MIME base64 разработана для передачи двоичных данных через транспортные слои, которые не содержат восьмой бит, к примеру, как почтовые тела. Заметим, что данные в кодировке Base64 занимают примерно на 30% больше места, чем оригинал.

base64_decode()

Декодирует данные, закодированные в кодировке MIME base64.

Синтаксис:

string base64_decode(string encoded_data)

Функция base64_decode() декодирует encoded_data и возвращает оригинал данных. Пример приводить не буду – все просто, и, поверьте, работает.

Функции преобразования регистра

strtolower()

strtoupper()

ucfirst()

ucwords()

strtolower()

Функция производит преобразование символов строки в нижний регистр.

Синтаксис:

string strtolower(string str)

Пример:

<?

$str = "HELLO WORLD";

$str = strtolower($str);

echo $str; // выведет "hello world"

?>

strtoupper()

Производит преобразование строки в верхний регистр.

Синтаксис:

string strtoupper(string str)

Отмечают, что функция не очень хорошо иногда работает с русскими буквами.

Пример:

<?

$str = "Hello World";

$str = strtoupper($str);

echo $str;

// выведет HELLO WORLD

?>

ucfirst()

Производит преобразование первого символа строки в верхний регистр.

Синтаксис:

string ucfirst(string str)

Функция возвращает строку, с заглавным первым символом. При конвертации символов кириллицы могут быть недоразумения.

<?

$str = "hello world";

$str = ucfirst($str);

echo $str;

// выведет Hello world

?>

ucwords()

Производит преобразование первого символа каждого слова строки в верхний регистр.

Синтаксис:

string ucwords(string str)

Возвращает строку, у которой первый символ каждого слова в строке заглавный.

Под словом понимается участок строки, которому предшествует пробельный символ: пробел, переход на новую строку, прогонка страницы, возврат каретки, горизонтальная и вертикальная табуляция.

<?

$str = "hello world";

$str = ucwords($str);

echo $str;

// выведет Hello World

?>

Инициализация массивов

В PHP существует 2 метода инициализации массивов. Первый из них состоит в простом присвоении значений элементам массива:

<?

$car[] = "passenger car";

$car[] = "land-rover";

echo($car[1]); // выводит "land-rover"

?>

Индекс массива можно указать явно:

<?

$car[0] = "passenger car";

$car[1] = "land-rover";

echo($car[1]); // выводит "land-rover"

?>

Заметим, что если при объявлении элементов массива смешиваются переменные с явной индексацией, и без индексации, то тому элементу, индекс которого не задан, PHP присвоит первый доступный индекс, после самого большого использованного до сих пор индекса. Например, если мы создадим массив с элементами, индексы которых будет равны, скажем, 10, 20 и 30, а потом создадим элемент, индекс которого явно не укажем, то ему автоматически присвоится индекс 31:

<?

$car[10] = "passenger car";

$car[20] = "land-rover";

$car[30] = "station-wagon";

$car[] = "victoria";

echo($car[31]);

?>

Альтернативный способ определения массивов состоит в использовании конструкции array():

<?

$car = array("passenger car","land-rover");

echo($car[1]); // выводит "land-rover"

?>

Для явного указания индексов в этом случае применяется оператор =>:

<?

$car = array("passenger car", 5 => "land-rover",

"station-wagon","victoria");

echo($car[0]); echo("<br>"); // выводит "passenger car"

echo($car[5]); echo("<br>"); // выводит "land-rover"

echo($car[6]); echo("<br>"); // выводит "station-wagon"

echo($car[7]); // выводит "victoria"

?>

Индексами массива могут быть и строки:

<?

$car = array("pc" => "passenger car", "lr" => "land-rover");

echo($car["lr"]); echo("<br>"); // выводит "land-rover"

echo($car["pc"]); // выводит "passenger car"

?>

Цикл foreach для обхода массивов

Обход массива в цикле в PHP4 можно организовать при помощи цикла foreach, который имеет следующий синтаксис:

foreach (array as [$key =>] $value)

{

statements;

}

Смысл этого цикла прост: при проходе каждого элемента массива в переменную $key помещается индекс этого элемента, а в переменную $value – его значение. Имена этих двух переменных совершенно произвольны.

Пример:

<?

$car = array("passenger car", "land-rover",

"station-wagon","victoria");

foreach($car as $index => $val)

{

echo("$index -> $val <br>");

}

?>

Как видно из синтаксиса, переменная $key необязательна и может быть опущена:

<?

echo(

"available cars: <br> <ul>"

);

$car = array("passenger car", "land-rover",

"station-wagon","victoria");

foreach($car as $val)

{

echo("<li>$val</li>\n");

}

echo("</ul>");

?>

Многомерные массивы

count()

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]