Строковые функции PHP — часть 2

explode

PHP 3, PHP 4, PHP 5

Функция explode — одна из важнейших функций PHP. Она очень удобна, например, если вам нужно хранить в базе данных строку «родительских» id для какой-либо страницы, а потом распаковывать ее, превращая в отдельные номера-id. В таком случае перед записью в базу массив айдишников объединяется в строку с помощью функции implode, а при необходимости снова превращается в массив при помощи explode.

Синтаксис функции не сложен:
array explode ( string separator, string string [, int limit] )

Аргумент separator делит строку string. Если в строке нет этого сепаратора, то функция поместит всю строку в один элемент массива. Если сеператор вообще пустая строка («»), то функция explode вернет FALSE. Не путайте пустой сепаратор с пробелом (» «), пробел для функции ничем не отличается по сути от запятой или точки.

Если передан аргумент LIMIT (он появляется начиная с версии PHP 4.0.1), массив будет содержать максимум LIMIT элементов, при этом последний элемент будет содержать остаток строки string.

$parents = "12,5,3";
$parentsm = explode(",", $parents);
echo
$parentsm[0]; // 12
echo $parentsm[1]; // 5
echo $parentsm[2]; // 3
?>

Местоположение аргументов separator и string в функции explode строго определено — separator всегда расположен впереди.

Хотя эта функция создает массив, но создает его из строки, поэтому ее принято считать «строковой» функцией.

implode

PHP 3, PHP 4, PHP 5

Функция implode — объединяет элементы массива в строку. Она обратна функции explode и очень важна при разработке php-программ. Объединенный в строку массив можно с легкостью записывать в базу данных или передавать между скриптами, например методом POST.

Синтаксис функции:
string implode ( string glue, array pieces )

$array = array('3', '5', '12');
$str = implode(",", $array);
echo
$str
// выводит 3,5,12
?>

В отличие от explode, где аргумент-разделитель обязательно должен стоять перед строкой, аргумент склейки в implode может быть и до, и после склеиваемого массива. Но разработчики рекомендуют использовать единый порядок, как в explode, чтобы не путаться.

md5

PHP 3, PHP 4, PHP 5

Функция md5 возвращает MD5 хэш строки

Описание: string md5 ( string str [, bool raw_output] )

В основе работы функции md5 алгоритм MD5 RSA DATA Security, Inc. Хэш представляет собой 32-значное шестнадцатеричное число. Хэш каждой строки уникален, вероятность совпадения его у разных строк ничтожно мала.

$str = '12345abc';
echo
md5($str);
// выводит 185aef3b1c810799a6be8314abf6512c
?>

Хэширование — это вовсе не шифрование. Шифрование предполагает некий ключ, с помощью которого шифр можно перевести в читаемый текст. У хэширования такого ключа нет. Можно сказать, что это шифрование «в одну сторону», без возможности дешифровки.

Функцию md5 очень удобно использовать для хранения паролей в базе сайта. Когда пользователь вводит свой пароль, его тоже пропускают через md5 и сравнивают с лежащим в базе хэшем — если строки совпали, значит пользователь ввел именно тот пароль, что лежит в базе. Подробнее о необходимости хранить пароли в хэшированном виде читайте тут.

Второе применение функции md5 — создания хэша для отслеживания каких-либо изменений. Если вы знаете, что какая-то величина может измениться, но не знаете, как именно, то можно сделать хэш с нее и потом сравнивать с хэшем нового значения. Если они совпадают, то ваш параметр остался прежним — если нет — произошло некое изменение.

В PHP 5.0.0 в функцию md5 был добавлен необязательный аргумент raw_output, по умолчанию он равен FALSE. Если необязательный аргумент raw_output имеет значение TRUE, то возвращается бинарная строка из 16 символов.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: