Справочник по PHP - white cat
Шрифт:
Интервал:
Закладка:
Пример использования функции extract():
<?php
/* Предположим, что $var_array массив,
полученный при помощи функции wddx_deserialize */
$size = "large";
$var_array = array("color" => "blue",
"size" => ""medium",
"shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_sizen";
?>
Пример выведет:
blue, large, sphere, medium
Здесь переменная $size не была переписана, т.к. мы указали параметр EXTR_PREFIX_SAME. Если указать EXTR_SKIP, тогда переменная $wddx_size даже не была бы создана. Если указать EXTR_OVERWRITE, то переменная $size имела бы значение "medium". Если EXTR_PREFIX_ALL - то в результате были бы созданы переменные $wddx_color, $wddx_size, и $wddx_shape.
Лучше всего использовать ассоциативные массивы. Массивы с цифровыми ключами не могут быть использованы в этой функции, если установлены флаги EXTR_PREFIX_ALL или EXTR_PREFIX_INVALID.
Функция поддерживается PHP 3 = 3.0.7, PHP 4, PHP 5
Строковые функции
chr
Возвращает один символ с определенным кодом.
Синтаксис:
string chr(int ascii)
Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.
<?
// Сначало создаем массив того, что мы собираемся выводить,
// не заботясь о форматировании (дизайне) информации
for($i=0, $x=0; $x<16; $x++) {
for($y=0; $y<16; $y++) {
$Chars[$x][$y]=array($i,chr($i));
$i++;
}
}
// Теперь выводим накопленную информацию, используя идеологию
// вставки участков кода в HTML-документ
?>
<table border=1 cellpadding=1 cellspacing=0>
<?for($y=0; $y<16; $y++) {?>
<tr>
<?for($x=0; $x<16; $x++) {?>
<td>
<?=$Chars[$x][$y][0]?>:
<b><tt><?=$Chars[$x][$y][1]?></tt></b>
</td>
<?}?>
</tr>
<?}?>
</table>
ord
Возвращает ascii код символа.
Синтаксис:
int ord(string str)
Эта функция возвращает ASCII код первого символа строки str.Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255.
Функции для работы с одиночными символами
chr
Возвращает один символ с определенным кодом.
Синтаксис:
string chr(int ascii)
Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.
<?
// Сначало создаем массив того, что мы собираемся выводить,
// не заботясь о форматировании (дизайне) информации
for($i=0, $x=0; $x<16; $x++) {
for($y=0; $y<16; $y++) {
$Chars[$x][$y]=array($i,chr($i));
$i++;
}
}
// Теперь выводим накопленную информацию, используя идеологию
// вставки участков кода в HTML-документ
?>
<table border=1 cellpadding=1 cellspacing=0>
<?for($y=0; $y<16; $y++) {?>
<tr>
<?for($x=0; $x<16; $x++) {?>
<td>
<?=$Chars[$x][$y][0]?>:
<b><tt><?=$Chars[$x][$y][1]?></tt></b>
</td>
<?}?>
</tr>
<?}?>
</table>
ord
Возвращает ascii код символа.
Синтаксис:
int ord(string str)
Эта функция возвращает ASCII код первого символа строки str.Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255.
Функции отрезания пробелов
trim
Удаляет из заданной строки начальные и конечные пробельные символы.
Синтаксис:
string trim(string str)
Возвращает копию str, только с удаленными ведущими и концевыми пробельными символами. Под пробельными символами надо понимать и пробел.
Например, вызов trim(" testn ") вернет строку "test".
Поиск в тексте
strchr
Поиск первого вхождения символа в строку.
Синтаксис:
string strchr(string haystack, string needle)
Данная функция работает идентично функции strstr().
strstr
Поиск первого вхождения подстроки в строку.
Синтаксис:
string strstr(string haystack, string needle)
Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
$email = "[email protected]";
$domain = strstr($email, "@");
// или
$domain = strstr($email, ord("@"))
echo $domain;
// выведет @mail.ru
stristr
Нахождение первого вхождения подстроки, не учитывая регистр.
Синтаксис:
string stristr(string haystack, string needle)
Функция stristr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция нечувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
strrchr
Поиск последнего вхождения подстроки.
Синтаксис:
string strrchr(string haystack, string needle)
Функция strrchr() возвращает участок строки, заданной в параметре haystack, начиная с последнего фрагмента, указанного в параметре needle и до конца.
В случае неудачи возвращает false.
Данная функция чувствительна к регистру.
В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа.
// получим последний каталог в $PATH
$dir = substr(strrchr($PATH, ":"), 1);
// а здесь получим все после последнего перевода строки
$text = "text 1nText2nText3";
echo substr(strrchr($text, 10), 1);
strpos
Находит позицию первого вхождения подстроки в заданной строке.
Синтаксис:
int strpos(string where, string what [, int fromwhere])
Функция strpos() пытается найти в строке were подстроку what и в случае успеха возвращает позицию (индекс) этой подстроки в строке. Первый символ строки имеет индекс 0. Необязательный параметр fromwhere можно задавать, если поиск нужно вести не с начало строки, а с какой-то другой позиции. В этом случае следует эту позицию передать в fromwhere. Если подстроку не удалось найти, функция возвращает false.
Если параметр what не строка, в этом случае его значение преобразуется в целое и используется как код искомого символа.
if(strpos($text, "a")===false) echo "Не найдено!";
// Проверка: три знака равенства
strrpos
Находит в заданной строке последнюю позицию, в которой находится заданный фрагмент.
Синтаксис:
int strrpos(string where, string what)
Данная функция ищет в строке where последнюю позицию, в которой встречался символ what (если what - строка из нескольких символов, то выявляется только первый из них, остальные не играют никакой роли).
Если искомый символ стоит первый в строке или его вообще нет, функция возвратит 0.
В случае, если искомый символ не найден, возвращает false.
substr_count
Находит количество вхождений фрагмента в строку.
Синтаксис:
int substr_count(string where, string what)
Функция substr_count() возвращает число фрагментов what, присутствующих в строке where.
echo substr_count("www.spravkaweb.ru", ".");
// Выведет 3
strspn
Определяет присутствие начальных символов в строке.
Синтаксис:
int strspn(string str1, string str2)
Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью из символов, которые есть в строке str2.
echo strspn("www.spravkaweb.ru", "abc");
// Выведет 3
strcspn
Определяет отсутствие начальных символов в строке.
Синтаксис:
int strcspn(string str1, string str2)
Функция strspn() возвращает длину начального фрагмента строки str1, состоящего полностью не из символов, которые есть в строке str2.