Из длинных строк можно также извлекать маленькие части. Рассмотрим две функции, с помощью которых можно делать это. Необходимо отметить, что для эффективного извлечения частей строки нужно иметь какую-то информацию о самой строке.
Функция strtok () извлекает подстроку, называемую лексемой, из строки на основе заранее установленного разделителя (обычно запятая или пробел). Например, если пользователи вводят имя и фамилию в одном поле, разделяя эти данные пробелом, то можно узнать имя с помощью следующего кода:
$FirstName = strtok ($Name, “ “);
Второй способ выделения подстрок — обратиться к индексной позиции символов внутри строки. Индексация строки означает нумерацию символов с начала строки, как если бы строка была массивом, а символы — её элементами. В РНР, как и в большинстве языков программирования, индексация начинается с нуля. Разобравшись с индексами, мы можем использовать функцию substr () для выделения нужного диапазона символов:
$SubString = substr ($String, 0, 10);
Во-первых, необходимо указать строку (здесь это $String), из которой будет вырезаться подстрока. Во-вторых, с помощью индекса необходимо указать начало подстроки (если вы начинаете индексацию с нуля, значит, учитываться будет и первый символ). Третьим параметром вы указываете, из скольких символов будет состоять подстрока (10). Если строка состоит из меньшего количества символов, чем 10, подстрока закончится в конце строки.
Часто для определения длины строки используют функцию strlen ().