Другие функции для работы со строками

May 4, 2010 by admin Комментировать »

Арсенал строковых функций РНР 5, конечно же, не ограничивается вышепере­численными примерами. Существует также огромное количество функций, кото­рые не попали ни в один из описанных пунктов. Некоторые несомненно полезные функции будут рассмотрены сейчас.

функция Md5()

Функция mdS () возвращает MD5-xeui строки. Формат записи функции сле­дующий.

string mdb (string str [, bool raw_output])

Хеш — это в данном случае тридцатидвухзначное шестнадцатеричное число, которое создается в результате преобразования из исходной строки по алгоритму MD5 RSA Data Security. Этот алгоритм не представляет возможности обратного раскодирования, и таким образом по хешу строки нельзя восстановить саму стро­ку, но этот хеш всегда будет одинаковым для одинаковых строк.

Эти особенности часто используются при построении систем авторизации. Рас­смотрим пример.

<?php

//Пароль для простоты получаем из $_GET данных $passw = $_GET[‘passw’];

//Хеш слова monster

$valid_passw_hash = "8bf4e6addd72a9c4c4714708d2941528";

//Если хеш введенного пароля и хеш, зашитый в программе, совпадают

if (md5($passw) == $valid_passw_hash) { echo ‘Добро пожаловать!";

}

//Если не совпадают

else {

echo "Я вас не знаю и дверь вам не открою! ‘;

}

?>

Если вызвать данный скрипт со следующим параметром: localhost/index.php?passw=monster

TO система выведет приглашение, a в иных случаях последует отказ. Здесь весь сек­рет в том, что в скрипте "зашит" хеш слова monster, который и сопоставляется с хешем вводимых слов. Если хеши совпадают, то, значит, совпадают и исходные слова. При этом сами слова остаются неизвестными для всех, кроме пользователя, которому принадлежит пароль. Другими словами, даже если злоумышленник ка­ким-либо образом выудит из базы данных хранимый там хеш пароля, он все равно не сможет им быстро воспользоваться.

Функция Str_repeat()

Функция str_repeat () возвращает одно или несколько повторений строки. Формат записи функции следующий.

string str_repeat( string input, int multiplier)

функция возвратит строку input, повторенную multiplier раз, например:

<?php

$dot = ".";

for($i=l;Si < 6;$i++) i

echo str_repeat($dot,$i) . " Уровень ‘ . $i "<br>";

}

?>

Так как значение $i при каждом шаге цикла будет увеличиваться на единицу, пропорционально будет увеличиваться и количество выводимых на экран точек. В результате на экране отобразится следующая картина.

. Уровень .. Уровень 2 … Уровень 3 . .. Уровень 4 ….. Уровень 5

Данная функция может быть полезна, например, при выводе иерархий. Функция StrlenO

Функция StrlenO Возвращает длину строки. Формат записи функции сле­дующий.

int strlen (string string)

Функция возвращает длину строки string. Пример использования. <?php

$str = "PHP 5";

$string_length = strlen($str); for ($i=0; $i < $string_length; $i++) { echo Sstr[$i) . "<br>"•

}

?>

Как было сказано ранее, строки в РНР могут быть использованы как массивы символов, поэтому к символам можно обращаться по их порядковому номеру. В приведенном выше примере строка " РНР 5" выводится вертикально, т.е. с пере­водом строки <Ьг> после каждой буквы.

Р н р

5

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

Функция Strcmp()

Функция strcmp () сравнивает две строки с учетом регистра. Формат записи функции следующий.

int strcmp (string strl, string str2)

Если strl окажется меньше чем str2, то функция вернет отрицательное число, если, наоборот, strl будет больше, то функция вернет положительное число, и, наконец, если строки равны, то функция вернет 0.

Пример сравнения двух строк.

<?php

$strl = "РНР 5",-$str2 = "ASP";

if (strcmp($strl,$str2)==0) t

echo $strl " это то же самое, что и " §str2;

}

else {

echo $strl " это вам не • . $str2;

}

?>

Так как строки $strl и $tr2 не равны, то на экране появится фраза: РНР 5 это вам не ASP

Функция strcmp () — это не единственная функция в РНР для сравнения строк. Если ее возможностей вам не хватает, поищите нужную вам функцию среди других строковых функций на странице http: / /www. php .net/manual/ru/ref. strings. php (в разделе "Функции для обработки строк").

Функция StrtolowerO

Функция strtolower () приводит строку к нижнему регистру. Формат записи следующий.

string strtolower (string str)

Используется она довольно просто.

<?php

$str = "ПриВЕт";

echo strtolower($str);

?>

Данный код выведет на экран слово "привет" в нижнем регистре.

Функция StrtoupperO

Эта функция, обратная функции strtolower (), преобразует строку в верхний регистр и возвращает ее. Формат записи функции:

string strtoupper (string str) Используется она так же, как и strtolower ().

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты