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 символов.