Синтаксис языка PHP и операторы

Тригонометрия

и число Пи

Читать

массивы

задание точности вычислений

Читать

массивы

сортировка, индексация, курсор

Читать

массивы

создание массива

Читать

массивы

ключи, сортировка, выборка, перенос, части, переменные

Читать

массивы

элементы, строки, блоки, текст, URL

Читать

свободно

Читать

свободно

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed et turpis et neque molestie mattis eu vitae lectus. Ut wisi enim ad minim veniam.

Читать

свободно

Привет всем ! Представляю вашему вниманию список белых каталогов для регистрации сайтов

Читать


Тригонометрия

sin Возвращает синус аргумента.
Синтаксис : float sin(float $arg)
Аргумент задается в радианах.
$x = sin(M_PI_2); // $x = 1
cos Возвращает косинус аргумента.
Синтаксис : float cos(float $arg)
$x = cos(0); // $x = 0
$x = cos(M_PI); // $x = -1
tan Возвращает тангенс аргумента, заданного в радианах.
Синтаксис : float tan(float $arg)
$x = tan(M_PI_4); // $x = 1
acos Возвращает арккосинус аргумента.
Синтаксис : float acos(float $arg)
$x = acos(0); // $x = pi/2
$x = acos(1); // $x = 0
asin Возвращает арксинус.
Синтаксис : float asin(float $arg)
$x = asin(0); // $x = 0
$x = asin(1); // $x = pi/2
atan Возвращает арктангенс аргумента.
Синтаксис : float atan(float $arg)
$x = atan(0); // $x = 0
$x = atan(1); // $x = pi/4
atan2 Получение арктангенса двух чисел.
Синтаксис : float atan2(float $y, float $x)
Возвращает арктангенс величины $y/$x, но с учетом той четверти, в которой лежит точка ($x,$y). Эта функция возвращает результат в радианах, принадлежащий отрезку от -? до ?.
$x = atan2(1,1); // $x = pi/4
$x = atan2(-1,-1); // $x = -3*pi/4
pi Возвращает число пи - 3,14.
Синтаксис : double pi()
Эту функцию обязательно нужно вызывать с парой пустых скобок:
$x = pi()*2 // $x = 31.415926535898

Функции повышенной точности BCMath

bcadd Сложение двух чисел произвольной точности.
Синтаксис :
string bcadd(string left_operand, string right_operand [, int scale]);
Эта функция возвращает строковое представление суммы двух параметров (left_operand + right_operand) с точностью, которая указана в необязательном параметре scale. Точность (scale) указывает количество десятичных знаков после запятой).

bccomp Сравнение двух чисел произвольной точности.
Синтаксис :
int bccomp(string left_operand, string right_operand, [int scale]);
Сравнивает числа (left_operand с right_operand) и возвращает результат типа integer (целое). Параметр scale используется для установки количества цифр после десятичной отметки, используемых при сравнении. При равенстве двух частей возвращается значение 0. Если левая часть больше правой части возврашается +1, и если левая часть меньше правой части возвращается -1.

bcdiv Операция деления для двух чисел произвольной точности.
Синтаксис :
string bcdiv(string left_operand, string right_operand [, intscale]);
Делит left_operand на right_operand и возвращает результат с точностью (знаками после запятой), заданной в параметре scale.
bcmod Возвращает остаток целочисленного деления.
Синтаксис :
string bcmod(left_operand, string modulus);
Данная функция возвращает остаток от целочисленного деления left_operand на modulus.

bcmul Операция умножения для двух чисел произвольной точности.
Синтаксис :
string bcmul(string left_operand, string right_operand [, int scale]);
Производит умножение left_operand на right_operand, и выдает результат в виде строки с точностью, заданной в переменной scale.

bcpow Возведение одного числа произвольной точности в степень другого.
Синтаксис :
string bcpow(string x, string y, [int scale]);
Возведение x в степень y. Параметр scale может использоваться для установки количества цифр после точки.

bcscale Устанавливает точность вычислений.
Синтаксис :
string bcscale(int scale);
Эта функция устанавливает заданную по умолчанию точность вычислений для всех математических функций BCMath, которые явно не определяют точность.

bcsqrt Получение квадратного корня числа произвольной точности.
Синтаксис :
string bcsqrt(string operand [,int scale]);
Возвращает кваддратный корень аргумента operand. Параметр scale устанавливает количество цифр после десятичной отметки в результате.

bcsub Вычитает одно число произвольной точности из другого.
Синтаксис :
string bcsub(string left_operand, right_operand [, int scale]);
Возвращает разность двух переменных, указанных в параметрах функции (left_operand - right_operand) с точностью, указанной в необязательном параметре scale.

Cортировка, курсор, заполнение

range Заполняет список целыми числами.
Синтаксис : list range(int low, int high)
Функция range() создает список, заполненный целыми числами от low до high включительно. Ее удобно применять, если мы хотим быстро сгенерировать массив для последующего прохождения по нему циклом forech.
$arr=range(4,9); // теперь $arr = array(4, 5, 6, 7, 8, 9);

Сортировка массивов

array_reverse Расстановка элементов массива в обратном порядке.
Синтаксис :
array array_reverse(array arr);
Функция array_reverse() возвращает массив, элементы которого следуют в обратном порядке относительно массива, переданного в параметре. При этом связи между ключами и значениями, конечно, не теряются. Например, вместо того, чтобы ранжировать массив в обратном порядке при помощи arsort(), мы можем отсортировать его в прямом порядке, а затем перевернуть:
$A=array("a"=>"Zero","b"=>"Weapon","c"=>"Alpha","d"=>"Processor");
asort($A);
$A = array_reverse($A);

shuffle Перемешивание элементов массива.
Синтаксис:
void shuffle(array arr);
Функция shuffle() "перемешивает" список, переданный ей первым параметром arr, так, чтобы его значения распределялись случайным образом. При этом измениться сам массив и ассоциативные массивы воспринимаются как списки.
$A = array(10,20,30,40,50);
shuffle($A);
foreach($A as $v) echo "$v "; // Выведет 10,20,30,40,50 в случайном порядке
sort Сортировка массива по возрастанию.
Синтаксис:
void sort(array arr [, int sort_flags])
Эта функция предназначена для сортировки списков (списки - массивы, ключи которых начинаются с 0 и не имеют пропусков) в порядке возрастания.
$A = array("One", "Two", "Tree", "Four");
sort($A);
for($i=0; $i
Любой ассоциативный массив Воспринимается этой функцией как список. То есть после упорядочивания последовательность ключей превращается в 0,1,2,..., а значения нужным образом перераспределяются. Как видим, связи между параметрами ключ=>значение не сохраняются, более того - ключи просто пропадают, поэтому сортировать что-либо, отличное от списка, вряд ли целесообразно.

Аргумент sort_flags задает следующие флаги сортировки:
 SORT_REGULAR - сравнивает элементы "как есть"
 SORT_NUMERIC - сравнивает элементы как числа
 SORT_STRING - сравнивает элементы как строки rsort Сортировка массива по убыванию.
Синтаксис:
void rsort(array arr [, int sort_flags])
Аналогична функции sort(), только сортирует по убыванию.
asort Сортировка ассоциативного массива по возрастанию.
Синтаксис :
void asort(array arr [, int sort_flags]);
Функция asort() сортирует массив, указанный в ее параметре, так, чтобы его значения шли в алфавитном (если это строки) или возрастающем (для чисел) порядке. При этом сохраняются связи между ключами и соответствующими им значениями, т.е. некоторые пары ключ=>значение просто "всплывают" наверх, а некоторые - наоборот, "опускаются".
$A=array("a"=>"Zero","b"=>"Weapon","c"=>"Alpha","d"=>"Processor");
asort($A);
foreach($A as $k=>$v) echo "$k=>$v "; // выводит "c=>Alpha d=>Processor b=>Weapon a=>Zero"
// как видим, поменялся только порядок пар ключ=>значение
По умолчанию функция asort() сортирует массив в алфавитном порядке. Значения флагов сортировки sort_flags приведены в описании функции sort().
arsort Сортировка ассоциативного массива по убыванию.
Синтаксис :
void arsort(array arr [, int sort_flags]);
Эта функция аналогична функции asort(), только она упорядочивает массив не по возрастанию, а по убыванию.
$arr=array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
arsort($arr);
reset($arr);
while(list ($key, $val) = each ($arr)) { echo "$key = $val
l"; } // выведет:
a = orange
ld = lemon
lb = banana
lc = apple
l
ksort Сортировка массива по возрастанию ключей.
Синтаксис :
int ksort(array arr [, int sort_flags]);
Функция практически идентична функции asort(), с тем различием, что сортировка осуществляется не по значениям, а по ключам (в порядке возрастания).
$A=array("d"=>"Zero","c"=>"Weapon","b"=>"Alpha","a"=>"Processor");
ksort($A);
for(Reset($A); list($k,$v)=each($A);) echo "$k=>$v "; // выводит "a=>Processor b=>Alpha c=>Weapon d=>Zero"
Аргумент sort_flags указывавет параметры сортировки.
krsort Сортировка массива по убыванию индексов.
Синтаксис :
int krsort(array arr [, int sort_flags]);
Эта функция аналогична функции ksort(), только она упорядочивает массив по ключам в обратном порядке.
natsort Выполняет "естественную" сортировку массива.
Синтаксис :
void natsort(array arr);
Функция natsort() сортирует массив в "естественном" для человека порядке.
$arr1 = array("html_12.html", "html_10.html", "html_2.html", "html_1.html");
$arr2 = $arr1;
sort($arr1);
echo "Стандартная сортировка:\n";
print_r($arr1);
natsort($arr2);
echo "Естественная сортировка:\n"
print_r($arr2);
Этот пример выведет следующее:
Стандартная сортировка:
Array ( [0] => html_1.html [1] => html_10.html [2] => html_12.html [3] => html_2.html )
Естественная сортировка:
Array ( [3] => html_1.html [2] => html_2.html [1] => html_10.html [0] => html_12.html )

uasort Пользовательская сортировка ассоциативного массива.
Синтаксис:
void uasort(array arr, function cmp_function)
Функция uasort() сортирует массив arr с сохранением индексных ассоциаций, используя для сравнения индексов элементов пользовательскую функцию, указанную аргументом cmp_function.
uksort Пользовательская сортировка массива по ключам.
Синтаксис:
void uksort(array arr, function cmp_function)
Функция uksort() сортирует массив arr по индексам с сохранением индексных ассоциаций, используя для сравнения индексов элементов пользовательскую функцию, указанную в аргументе cmp_function. В эту функцию передаются два сравниваемых индекса элементов, а она должна вернуть положительное или отрицательное число или 0.
Довольно часто нам приходится сортировать что-то по более сложному критерию, чем просто по алфавиту. Например, пусть в $Files храниться список имен файлов и подкаталогов в текущем каталоге. Возможно, мы захотим вывести этот список не только в лексографическом порядке, но также чтобы все каталоги предшествовали файлам. В этом случае нам стоит воспользоваться функцией uksort(), написав предварительно функцию сравнения с двумя параметрами, как того требует uksort().
// Эта функция должна сравнивать значения $f1 и $f2 и возвращать:
// -1, если $f1<$f2,
// 0, если $f1==$f2
// 1, если $f1>$f2
// Под < и > понимаем следование этих имен в выводимом списке
function FCmp($f1,$f2)
{ // Каталог всегда предшествует файлу if(is_dir($f1) && !is_dir($f2)) return -1; // Файл всегда идет после каталога if(!is_dir($f1) && is_dir($f2)) return 1; // Иначе сравниваем лексиграфически if($f1<$f2) return -1; elseif($f1>$f2) return 1; else return 0; }
// Пусть $Files содержит массив с ключами - именами файлов
// в текущем каталоге. Отсортируем его.
uksort($Files,"FCmp"); //передаем функцию сортировки "по ссылке"
usort Пользоваетльская сортировка массива.
Синтаксис: void usort(array arr, function cmp_function)
Функция usort() сортирует массив arr с сохранением индексных ассоциаций, используя для сравнения индексов элементов пользовательскую функцию, указанную в аргументе cmp_function. В эту функцию передаются два сравниваемых индекса элементов, а она должна вернуть положительное или отрицательное число или 0.
Эта функция как бы является "гибридом" функций uasort() и sort(). От sort() она отличается тем, что критерий сравнения обеспечивается пользовательской функцией. А от uasort() - тем, что она не сохраняет связей между ключами и значениями, а потому пригодна разве что для сортировки списков.
function FCmp($a,$b) { return strcmp($a,$b); }
$A = array("One","Two","Three","Four");
usort($A);
for($i=0; $i Пример одномерного массива:
function cmp($a, $b) { if($a==$b) return 0; return ($a > $b) ? -1 : 1; }
$a=array (3,2,5,6,1);
usort($a, "cmp");
while(list($key,$val)=each($a)) {
echo "$key: $val\n";
}
При выполнении будет напечатано:
0: 6
1: 5
2: 3
3: 2
4: 1
Пример многомерного массива:
function cmp($a,$b) {
return strcmp($a["fruit"],$b["fruit"]);
};
$fruit[0]["fruit"]="lemons";
$fruit[1]["fruit"]="apples";
$fruit[2]["fruit"]="grapes";
usort($fruit, "cmp");
while(list($key,$val)=each($fruit)) {
echo "\$fruit[$key]:".$val["fruit"]."\n";
}
При сортировке многомерных массивов $a и $b содержит ссылки на первый индекс массива. Будет напечатано:
$fruit[0]: apples
$fruit[1]: grapes
$fruit[2]: lemons
array_multisort Сортировка релятивных массивов.
Синтаксис:
bool array_multisort(array ar1, [, mixed o1 [, mixed t1 ... [, array ...]]])
Функция array_multisort() сортирует многомерные массивы с сохранением индексной ассоциации, возвращая true при отсутствии ошибок.
Исходные массивы рассматриваются как столбцы таблицы, сортируемой построчно. Поэтому массивы должны иметь одинаковое число элементов, и взаимосвязь между ними, как в строках таблицы, сохраняется. Приоритетом сортировки пользуются первые массивы. Флаги сортировки могут указваться для каждого массива, и их действие распространяется только на тот массив, после которого они указаны.
Флаги определения порядка сортировки (аргументы ox):
 SORT_ASC - сортировка в порядке возрастания (по умолчанию)
 SORT_DESC - сортировка в порядке убывания Флаги типа сортировки (аргументы tx):
 SORT_REGULAR - сравнивать элементы как есть (по умолчанию)
 SORT_NUMERIC - сравнивать элементы как числа
 SORT_STRING - сравнивать элементы как строки
ar1 = array("10", 100, 100, "a");
ar2 = array(1, 3, "2", 1);
array_multisort($ar1, $ar2);
// $ar1 = array("10", "a", 100, 100);
// $ar2 = array(1, 1, "2", 4);
Элементы второго массива, соответствующие одинаковым элементам (100 и 100) первого массива, также отсортированны.
$ar = array(array("10", 100, 100, "a"), array(1, 3, "2", 1));
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], $SORT_NUMERIC, SORT_DESC);
$ar[0] = ("10", 100, 100, "a") - сортируются как строки по возрастанию $ar[1] = (1, 3, "2", 1) - сортируются как числа по убыванию

Курсор массива


reset Производит сброс курсора массива.
Синтаксис :
mixed reset(array arr);
Функция reset() устанавливает внутренний курсор массива arr на его начало и возвращает значение начального элемента.
end Производит перенос курсора в конец массива.
Синтаксис :
mixed end(array arr);
Функция end() устанавливает внутренний курсор массива arr на последний элемент и возвращает значение начального элемента.
next Производит перенос курсора вперед.
Синтаксис :
mixed next(array arr);
Функция next() возвращает значение элемента, на котором в данный момент находится курсор, и перемещает курсор массива на следующий элемент. Возвращает false, если элементов больше не осталось.
Также false возвращается, если встречается элемент с пустым значением, следовательно для корректной работы с массивом, содержащим пустые элементы, лучще использовать функцию each().
prev Производит перенос курсора назад.
Синтаксис :
mixed prev(array arr);
Функция prev() возвращает значение элемента, на котором в данный момент находится курсор, и перемещает курсор массива на предыдущий элемент. Возвращает false, если элементов больше не осталось.
Также false возвращается, если встречается элемент с пустым значением, следовательно для корректной работы с массивом, содержащим пустые элементы, лучще использовать функцию each().
current Определение текущего элемента массива.
Синтаксис :
mixed current(array arr);
Функция current() возвращает значение элемента, на котором в данный момент находится курсор массива, при этом не сдвигая курсор.
Функция возвратит false, если курсор оказался вне пределов массива, или массив не имеет элементов.
pos Определение текущего элемента массива.
Синтаксис :
mixed pos(array arr);
Эта функция синоним функции current().
key Функция возвращает индекс текущего элемента массива.
Синтаксис :
mixed key(array arr);
each Получение текущего элемента массива.
Синтаксис :
array each(array arr);
Функция each() возвращает в массиве пару "индекс и значение" текущего элемента массива, на который указывает внутренний курсор, и сдвигает курсор массива на следующий элемент. Возващаемый массив имеет четыре элемента:
[0] => индекс
[1] => "значение"
[key] => индекс
[value] => "значение"
Функция возвращает false, если курсор достиг конца массива.
$foo = array("bob", "fred", "jussi", "joini", "egon", "marliese");
$bar = each($foo); // теперь $bar = (0=>0, 1=>"bob", key=>0, value=>"bob")
Обычно функцию each() используют в паре с list() для перебора элементов массива:
reset($HTTP_POST_VARS);
while(list($key, $val) = each($HTTP_POST_VARS)) {
echo "$key = %val
";
} array_walk Применение функции к элементам массива.
Синтаксис :
int array_walk(array arr string func, mixed userdata);
Функция array_walk() применяет пользовательскую функцию func к каждому элементу массива arr. В пользовательскую функцию передаются три или два (в случае, если аргумент userdata не указан) аргумента: значение текущего элемента, его индекс и аргумент userdata.
В случае, если func требует более трех аргументов, при каждом ее вызове будет выдаваться предупреждение. Чтобы блокировать выдачу этих предупреждений, поставте знак "@" перед функцией array_walk() или воспользуйтесь функцией error_reporting().
Функция func будет получать значения и индексы массива arr по занчению, т.е. не сможет вносить в него изменения. Если это необходимо, передайте аргумент arr по ссылке, указав перед его именем "&", и тогда все изменения отразяться в массиве.
В PHP 4 необходимо явно вызывать функцию reset(), чтобы установить внутренний курсор на первый элемент.
$v = array("d"=>"A1", "a"=>"B2", "b"=>"C3", "c"=>"D4");
function test_alter(&$item1, $key, $prefix) { // по ссылке
$item1 = "$prefix $item1";
};
function test_print($item2, $key) {
echo "$key. $item2
";
};
array_walk($v, "test_print");
reset($v);
array_walk($v, "test_alter");
reset($v);
array_walk($v, "test_print");

Создание массива

array Создание и инициализация массива.
Синтаксис : array array([mixed ...])
Функция возвращает созданный массив. Индексы и значения в массиве разделяются оператором =>. Пары index=>value разделяются запятыми, они определяют индекс и значение.
Индекс может быть как числовым, так и строковым. В ассоциированных массивах индекс всегда ведет себя как строковой. В случае, если индекс не указан, будет подставляться автоинкремент (на 1 больше), начиная с 0. Если при создании массива были указаны два элемента с одинаковыми индексами, то последний элемент заменяет первый.
$arr=array( // Далее мы создадим двумерный массив
"fruit" => array("a"=>"orange", "b"=>"banan", "c"=>"apple"), // эта запись эквивалентна записи: $arr["fruit"]["a"]="orange"; и т.д.
"number" => array(1,2,3,4,5,6), // эта запись эквивалентна записи: $arr["number"][]=1; и т.д.
"hotel" => array("first", 5=>"second", "third") );
$arr=array(1, 1, 1, 1, 2=>5, 19, 3=>20);
print_r($arr); // Далее распечатка этого массива
Array ( [0] => 1
[1] => 1
[2] => 5
[3] => 20
[4] => 19 )
$arr=array(1 => "Январь", "Февраль", "Март");
print_r($arr); // распечатка
Array (
[1] => Январь
[2] => Февраль
[3] => Март
)
range Заполняет список целыми числами.
Синтаксис :
list range(int low, int high)

Функция range() создает список, заполненный целыми числами от low до high включительно. Ее удобно применять, если мы хотим быстро сгенерировать массив для последующего прохождения по нему циклом forech.
$arr=range(4,9); // теперь $arr = array(4, 5, 6, 7, 8, 9);

Ключи и значения

array_flip Меняет местами индексы и значения массива.
Синтаксис :
array array_flip(array arr)
Эта функция "пробегает" по массиву и меняет местами его ключи и значения. Исходный массив arr не изменяется, а результирующий массив просто возвращается. Конечно, если в массиве присутствовало несколько элементов с одинаковыми значениями, учитываться будет только последний из них:
$A = array("a"=>"aaa", "b"=>"aaa", "c"=>"ccc");
$A = array_flip($A);
// Теперь $A===array("aaa"=>"b", "ccc"=>"c");

array_keys Возвращает список из ключей массива.
Синтаксис :
list array_keys(array arr [,mixed search_value])
Функция возвращает список, содержащий все ключи массива arr. Если задан необязательный параметр search_value, то она вернет только те ключи, которым соответствуют значения search_value.
$arr = array(0 => 100, "color" => "red", 15);
array_keys($arr); // возвратит array(0, "color", 1)
$arr = array("blue", "red", "green", "blue", "blue");
array_keys($arr, "blue"); // возвратит array(0, 3, 4)

array_values Удаление ассоциативных индексов массива.
Синтаксис :
list array_values(array arr)
Функция array_values() возвращает список всех значений в ассоциативном массиве arr, т.е. превращает ассоциативный массив в простой (скалярный).
$arr = array("size" => "XL", "color" => "gold");
array_values($arr); // возвратит array("XL", "gold")
Очевидно, такое действие бесполезно для списков, но иногда оправданно для хешей.

in_array Осуществляет проверку массива на наличие значения.
Синтаксис :
bool in_array(mixed val, array arr)
Функция in_array() возвратит true, если в массиве arr содержится элемент со значением var.
$arr = array("1", "2", "tree");
if(in_array["2", $arr)) echo "2 есть";

array_count_values Возвращает количество одинаковых значений массива.
Синтаксис :
array array_count_values(array arr)
Эта функция подсчитывает, сколько раз каждое значение встречается в массиве arr, и возвращает ассоциативный массив с ключами - элементами массива и значениями - количеством повторов этих элементов. Иными словами, функция array_count_values() подсчитывает частоту появления значений в массиве arr.
$LIst = array(1, "hello", 1, "world", "hello");
array_count_values($array); // возвращает array(1=>2, "hello"=>2, "world"=>1)

sizeof Возвращает число элементов массива.
Синтаксис :
int sizeof(array arr)
Функция sizeof() возвращает количество элементов в массиве arr на подобие действия функции count().

count Возвращает число элементов в массиве или объекте.
Синтаксис :
int count(mixed var)
Функция count() возвращает число элементов в массиве или объекте var. В случае, если var - скалярная переменная, то функция возвращает 1, если такая переменная существует, или 0, если такой переменной нет.
Надо отметить, что 0 возвращается и тогда, когда указан массив, не содержащий элементов. Для проверки существования переменной лучше воспользоваться функцией isset().
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a) // возвратит 3

array_sum Возвращает сумму всех элементов массива.
Синтаксис :
mixed array_sum(array arr [, int num_req])
Эта функция возватит сумму всех числовых элементов массива. От типа значений в массиве зависит тип возвращаемого числа (integer или float).
$arr = array(2,4,6,7);
echo "Сумма: ".array_sum($arr); // выведет Сумма: 19

array_rand Производит случайную выборку индексов массива.
Синтаксис :
mixed array_rand(array arr [, int num_req])
Функция array_rand() возвращает в массиве выбранные случайным образом индексы элементов массива arr. Аргумент num_req указывает число возвращаемых индексов. В случае, если выбирается один элемент, то возвращается не массив, а значение.
srand((double)microtime() *1000000); // здесь мы проинициализировали генератор случайных чисел
$arr = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($arr, 2);
echo $arr[$rand_key[0]]."
";
echo $arr[$rand_key[1]]."
";

Комплексная замена в строке

strtr Комплексная замена в строке.
Синтаксис :
string strtr(string str, string from, string to) string strtr(string str, array from)
В первом случае функция strtr() возвращает строку str, у которой каждый символ, присутствующий в строку from, заменяется на корреспондирующий из строки to. В случае, если строки from и to различной длины, то лишние конечные символы длинной строки игнорируются.
Во втором случае функция strtr() возвращает строку, в которой фрагменты строки str заменяются на соответствующие индексам значения элементов массива from. При этом функция пытается заменить сначало наибольшие фрагменты исходной строки и не выполняет замену в уже модифицированных частях строки. Таким бразом, теперь мы можем выполнить несколько замен сразу:
$Subs = array(
"" => "Larry",
"

Функции для работы с одиночными символами

chr Возвращает один символ с определенным кодом. Синтаксис : string chr(int ascii) Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.
0: 16:  32: 48: 0 64: @ 80: P 96: ` 112: p 128: 144: 160: 176: 192: 208: 224: 240:
1:  17:  33: ! 49: 1 65: A 81: Q 97: a 113: q 129: 145: 161: 177: 193: 209: 225: 241:
2:  18:  34: " 50: 2 66: B 82: R 98: b 114: r 130: 146: 162: 178: 194: 210: 226: 242:
3:  19:  35: # 51: 3 67: C 83: S 99: c 115: s 131: 147: 163: 179: 195: 211: 227: 243:
4:  20:  36: $ 52: 4 68: D 84: T 100: d 116: t 132: 148: 164: 180: 196: 212: 228: 244:
5:  21:  37: % 53: 5 69: E 85: U 101: e 117: u 133: 149: 165: 181: 197: 213: 229: 245:
6:  22:  38: & 54: 6 70: F 86: V 102: f 118: v 134: 150: 166: 182: 198: 214: 230: 246:
7:  23:  39: ' 55: 7 71: G 87: W 103: g 119: w 135: 151: 167: 183: 199: 215: 231: 247:
8:  24:  40: ( 56: 8 72: H 88: X 104: h 120: x 136: 152: 168: 184: 200: 216: 232: 248:
9: 25:  41: ) 57: 9 73: I 89: Y 105: i 121: y 137: 153: 169: 185: 201: 217: 233: 249:
10: 26:  42: * 58: : 74: J 90: Z 106: j 122: z 138: 154: 170: 186: 202: 218: 234: 250:
11: 27:  43: + 59: ; 75: K 91: [ 107: k 123: { 139: 155: 171: 187: 203: 219: 235: 251:
12: 28:  44: , 60: < 76: L 92: \ 108: l 124: | 140: 156: 172: 188: 204: 220: 236: 252:
13: 29:  45: - 61: = 77: M 93: ] 109: m 125: } 141: 157: 173: 189: 205: 221: 237: 253:
14:  30:  46: . 62: > 78: N 94: ^ 110: n 126: ~ 142: 158: 174: 190: 206: 222: 238: 254:
15:  31:  47: / 63: ? 79: O 95: _ 111: o 127:  143: 159: 175: 191: 207: 223: 239: 255:
ord Возвращает ascii код символа. Синтаксис : int ord(string str) Эта функция возвращает ASCII код первого символа строки str. Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255. Функции для работы с одиночными символами chr Возвращает один символ с определенным кодом. Синтаксис : string chr(int ascii) Возвращает строку из одного символа с кодом $code. Эта функция полезна для вставки каких-либо непечатаемых символов в строку - например, кода нуля или символа прогона страницы, а также при работе с бинарными файлами.
0: 16:  32: 48: 0 64: @ 80: P 96: ` 112: p 128: 144: 160: 176: 192: 208: 224: 240:
1:  17:  33: ! 49: 1 65: A 81: Q 97: a 113: q 129: 145: 161: 177: 193: 209: 225: 241:
2:  18:  34: " 50: 2 66: B 82: R 98: b 114: r 130: 146: 162: 178: 194: 210: 226: 242:
3:  19:  35: # 51: 3 67: C 83: S 99: c 115: s 131: 147: 163: 179: 195: 211: 227: 243:
4:  20:  36: $ 52: 4 68: D 84: T 100: d 116: t 132: 148: 164: 180: 196: 212: 228: 244:
5:  21:  37: % 53: 5 69: E 85: U 101: e 117: u 133: 149: 165: 181: 197: 213: 229: 245:
6:  22:  38: & 54: 6 70: F 86: V 102: f 118: v 134: 150: 166: 182: 198: 214: 230: 246:
7:  23:  39: ' 55: 7 71: G 87: W 103: g 119: w 135: 151: 167: 183: 199: 215: 231: 247:
8:  24:  40: ( 56: 8 72: H 88: X 104: h 120: x 136: 152: 168: 184: 200: 216: 232: 248:
9: 25:  41: ) 57: 9 73: I 89: Y 105: i 121: y 137: 153: 169: 185: 201: 217: 233: 249:
10: 26:  42: * 58: : 74: J 90: Z 106: j 122: z 138: 154: 170: 186: 202: 218: 234: 250:
11: 27:  43: + 59: ; 75: K 91: [ 107: k 123: { 139: 155: 171: 187: 203: 219: 235: 251:
12: 28:  44: , 60: < 76: L 92: \ 108: l 124: | 140: 156: 172: 188: 204: 220: 236: 252:
13: 29:  45: - 61: = 77: M 93: ] 109: m 125: } 141: 157: 173: 189: 205: 221: 237: 253:
14:  30:  46: . 62: > 78: N 94: ^ 110: n 126: ~ 142: 158: 174: 190: 206: 222: 238: 254:
15:  31:  47: / 63: ? 79: O 95: _ 111: o 127:  143: 159: 175: 191: 207: 223: 239: 255:
ord Возвращает ascii код символа. Синтаксис : int ord(string str) Эта функция возвращает ASCII код первого символа строки str. Например, ord(chr($n)) всегда равно $n - конечно, если $n заключено между нулем и 255. Функции отрезания пробелов trim Удаляет из заданной строки начальные и конечные пробельные символы. Синтаксис : string trim(string str) Возвращает копию str, только с удаленными ведущими и концевыми пробельными символами. Под пробельными символами надо понимать "\n", "\r", "\t", "\v", "\0" и пробел. Например, вызов trim(" test\n ") вернет строку "test". ltrim Удаляет из заданной строки начальные пробельные символы. Синтаксис : string ltrim(string str) То же, что и trim(), только удаляет исключительно начальные пробельные символы ("\n", "\r", "\t", "\v", "\0" и пробел), а концевые не трогает. rtrim Удаляет из заданной строки конечные пробельные символы. Синтаксис : string rtrim(string str) То же, что и trim(), только удаляет исключительно конечные пробельные символы ("\n", "\r", "\t", "\v", "\0" и пробел), а начальные не трогает. Эта функция - синоним chop(). chop Удаляет из заданной строки конечные пробельные символы. Синтаксис : string chop(string str) Удаляет только концевые пробелы, начальные не трогает. Поиск в тексте strchr Поиск первого вхождения символа в строку. Синтаксис : string strchr(string haystack, string needle) Данная функция работает идеентично функции strstr(). strstr Поиск первого вхождения подстроки в строку. Синтаксис : string strstr(string haystack, string needle) Функция strstr() возвращает участок строки, заданной в параметре haystack, начиная с первого фрагмента, указанного в параметре needle и до конца. В случае неудачи возвращает false. Данная функция чувствительна к регистру. В случае, если needle не является строкой, то значение преобразуется в целое и используется как код искомого символа. $email = "mailname@mail.ru"; $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 1\nText2\nText3"; 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. Функции сравнения strcmp Сравнивает строки. Синтаксис : int strcmp(string str1, string str2) Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает: 0 - если строки полностью совпадают; -1 - если строка str1 лексикографически меньше str2; 1 - если, наоборот, str1 "больше" str2. Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений. strncmp Сравнивает начала строк. Синтаксис : int strncmp(string str1, string str2, int len) Эта функция отличается от strcmp() тем, что сравнивает не все слово целиком, а первые len байтов. В случае, если len меньше длины наименьшей из строк, то строки сравниваются целиком. Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает: 0 - если строки полностью совпадают; -1 - если строка str1 лексикографически меньше str2; 1 - если, наоборот, str1 "больше" str2. Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений. strcasecmp Сравнивает строки без учета регистра. Синтаксис : int strcasecmp(string str1, string str2) То же самое, что и strcmp(), только при работе не учитывается регистр букв. $str1 = "Привет!"; $str2 = "привет!"; if(!strcesecmp($str1, $str2)) echo "$str1 == $str2 при сравнении строк без учета регистра"; strncasecmp Сравнивает начала строк без учета регистра. Синтаксис : int strncasecmp(string str1, string str2, int len) Функция strncasecmp() является комбинацией функций strcasecmp() и strncmp(). strnatcmp Производит "естественное" сравнение строк. Синтаксис : int strnatcmp(string str1, string str2) Данная функция имитирует сравнение строк, которое использовал бы человек. $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Обычная сортировка\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\nЕстенственная сортировка\n"; usort($arr2, "strnatcmp"); print_r($arr2); Данный скприпт выведет следующее: Обычная сортировка Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Естественная сортировка Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png ) strnatcasecmp Производит "естественное" сравнение строк без учета регистра. Синтаксис : int strnatcasecmp(string str1, string str2) То же, что и strnatcmp(), только игнорирует регистр. similar_text Производит определение схожести двух строк. Синтаксис : int similar_text(string firsrt, string second [, double percent]) Функция similar_text() вычисляет схожесть двух строк по алгоритму, описанному Оливером (Oliver [1993]). Но вместо стека (как в псевдокоде Оливера) она использует рекурсивные вызовы. Сложность алгоритма делает функцию медленной, и ее скорость пропорциональна (N^3), где N - длина наибольшей строки. Функция возвращает число символов, совпавших в обеих строках. При передаче по ссылке третьего необязательного параметра в нем сохраняется процент совпадения строк. levenshtein Определение различия Левенштейна двух строк. Синтаксис : int levenshtein(string str1, string str2) int levenshtein(string str1, string str2, int cost_ins, int cost_rep, int cost_del) int levenshtein(string str1, string str2, function cost) "Различие Левенштейна" - это минимальное чило символов, которое требовалось бы заменить, вставить или удалить для того, чтобы превратить строку str1 в str2. Сложность алгоритма пропорциональна произведению длин строк str1 и str2, что делает функцию более быстродействующей, чем similar_text(). Первая форма функции возвращает число необходимых операций над символами строк для трансформации str1 в str2. Вторая форама имеет три дополнительных параметра: стоимость операции вставки, замены и удаления, что делает ее более адаптированной для вычисления, но при этом менее быстродействующей. Возвращается интегральный показатель сложности трансформации. Третий вариант позволяет указать функцию, используемую для расчета сложности трансформации. Функция cost вызывается со следующими аргументами:  применяемая операция (вставить, изменить, удалить): "I*quot;, "R", "D";  фактический символ первой строки  фактический символ второй строки  позиция строки 1  позиция строки 2  оставшаяся длина строки 1  оставшаяся длина строки 2 Вызываемая функция должна будет возвратить стоимость этой операции. Если длина одной из строк более 255 символов, функция levenshtein() возвращает -1, но такая длина более чем достаточна. Форматирование и вывод строк print Выводит строку, значение переменной или выражение. Синтаксис : print "string arg"; Функция print""; выводит аргумент arg, в качестве которого может быть переменная или выражение. echo Производит вывод одного или нескольких значений. Синтаксис : echo 'string arg1, string [argn]...' Функция echo() выводит значения перечисленных параметров. echo'' - фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов. echo "Перенос на следующую строку, имеющийся в коде, сохраняется и используется при выводе". "чтобы избежать этого используйте". "оператор конкатенации"; printf Вывод отформатированной строки. Синтаксис : int printf(string format [, mixed args, ...]); Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя. sprintf Производит форматирование строки с подстановкой переменных. Синтаксис : sprintf($format [,args, ...]) Эта функция возвращает строку, составленную на основе строки форматирования, содержащей некоторые специальные символы, которые будут впоследствии заменены на значения соответствующих переменных из списка аргументов. Строка форматирования $format может включать в себя команды форматирования, предваренные символом %. Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить: //echo sprintf("The percentage was %d%%",$percentage); Каждый спецификатор формата включает максимум пять элементов (в порядке их следования после символа %):  Необязательный спецификатор размера поля, который указывает, сколько символов будет отведено под выводимую величину. В качестве символов-заполнителей (если значение имеет меньший размер, чем размер поля для его вывода) может использоваться пробел или 0, по умолчанию подставляется пробел. Можно задать любой другой символ-наполнитьел, если указать его в строке форматирования, предварив фпострофом.  Опциональный спецификатор выравнивания, определяющий, будет результат выровнен по правому или по левому краю поля. По умолчанию производится выравнивание по правому краю, однако можно указать и левое выравнивание, задав символ - (минус).  Необязательное число, определяющее размер поля для вывода величины. Если результат не будет в поле помещаться, то он &quo;вылезет" за края этого поля, но не будет усечен.  Необязательное число, предваренное точкой ".", предписывающее, сколько знаков после запятой будет в результирующей строке. Этот спецификатор учитывается только в том случае, если происходит вывод числа с плавающей точкой, в противном случае он игнорируется.  Наконец, обязательный (заметьте - единственный обязательный!) спецификатор типа величины, которая будет помещена в выходную строку:  b - очередной аргумент из списка выводится как двоичное целое число  c - выводится символ с указанным в аргументе кодом  d - целое число  f - число с плавающей точкой  o - восьмеричное целое число  s - строка символов  x - шестнадцатиричное целое число с маленькими буквами a-z  X - шестнадцатиричное целое число с большими буквами A-Z Вот как можно указать точность представления чисел с плавающей точкой: $money1 = 68.75; $money2 = 54.35; $money = $money1 + $money2; // echo $money выведет "123.1"... $formatted = sprintf ("%01.2f", $money); // echo $formatted выведет "123.10"! Вот пример вывода целого числа, предваренного нужным количеством нулей: $isodate=sprintf("%04d-%02d-%02d",$year,$month,$day); sscanf Производит интерпретацию строки согласно формату и занесение значений в переменные. Синтаксис : mixed sscanf(string str, string format [, string var1 ...]) Функция sscanf() является противоположностью функции printf(). Она интерпретирует строку str согласно формату format, аналогично спецификации printf(). При указании только двух аргументов полученные значения возращаются в массиве. // получение серийного номера $serial = sscanf("SN/235-0001", "SN/%3d-%4d"); echo $serial[0]*10000+$serial[1]; // выводит: 2350001 // и даты изготовления $date = "January 01 2000"; list($month, $day, $year) = sscanf($date, "%s %d %d"); echo "Дата: $year-".substr($month,0,3)."-$day\n"; // выводит: 2000-Jan-01 При указании дополнительных необязательных параметров (их следует передавать по ссылке) функция возвращает их число. Те переменные, которые не получают значений, в возвращаемом значении не учитываются. // гененируем XML записть из строки $auth = "765\tLewis Carroll"; $n = sscan($auth,"%d\t%s %s", &$id, &$first, &$last); echo " $first $last \n";

Составление/разбиение строк

substr Возвращает участок строки с определенной длиной. Синтаксис : string substr(string str, int start [,int length]) Возвращает участок строки str, начиная с позиции start и длиной length. Если length не задана, то подразумевается подстрока от start до конца строки str. Если start больше, чем длина строки, или же значение length равно нулю, то возвращается пустая подстрока. Однако эта функция может делать и еще довольно полезные вещи. К примеру, если мы передадим в start отрицательное число, то будет считаться, что это число является индексом подстроки, но только отсчитываемым от конца str (например, -1 означает "начинается с последнего символа строки"). Параметр length, если он задан, тоже может быть отрицательным. В этом случае последним символом возвращаемой подстроки будет символ из str с индексом length, определяемым от конца строки. $str = substr("abcdef", 1); // возвратит "bcdef" $str = substr("abcdef", 1, 3); // возвратит "bcd" $str = substr("abcdef", -1); // возвратит "f" $str = substr("abcdef", -2); // возвратит "ef" $str = substr("abcdef", -3, 1); // возвратит "d" $str = substr("abcdef", 1, -1); // возвратит "bcde" str_repeat Повторяет строку определенное количество раз. Синтаксис : string str_repeat(string str, int number) Функция "повторяет" строку str number раз и возвращает объединенный результат. echo str_repeat("test!",3); // выводит test!test!test! str_pad Дополняет строку другой строкой до определенной длины. Синтаксис : string str_pad(string input, int pad_length [, string pad_string [, int pad_type]]) Аргумент input задает исходную строку. Аргумент pad_length задает длину возвращаемой строки. Если он имеет значение меньше, чем исходная строка, то никакого добавления не производится. При помощи необязательного аргумента pad_string можно указать, какую строку использовать в качестве заполнителя (по умолчанию - пробелы). При помощи необязательного аргумента pad_type можно указать, с какой стороны следует дополнять строку: справо, слево или с обеих сторон. Этот аргумент может принимать следующие значения:  STR_PAD_RIGHT (по умолчанию)  STR_PAD_LEFT  STR_PAD_BOTH $str = "Aaaaa"; echo str_pad($str, 10); // возвратит "Aaaaa" echo str_pad($str, 10, "-=", STR_PAD_LEFT); // возвратит "-=-=-Aaaaa" echo str_pad($str, 10, "_", STR_PAD_BOTH) // возвратит "_Aaaa_" chunk_split Возвращает фрагмент строки. Синтаксис : string chunk_split(string str [, int chunklen [, string end]]) Функция chunk_split() возвращает строку, в которой между каждым блоком строки str длиной chunklen (по умолчанию 76) вставляется последовательность разделителей end (по умолчанию: "\r\n"). Данная функция может быть полезна при конвертировании в формат "base64" для соответствия правилам RFC 2045. // отформатируем $data, используя семантику RFC 2045 $str = chunk_split(base64_encode($data)); Эта функция работает значительно быстрее, чем ereg_replace().
strtok Возвращает строку по частям.
Синтаксис :
string strtok(string arg1, string arg2)
Фунция возвращает часть строки arg1 до разделителя arg2. При последующих вызовах возвращается следующая часть до следующего разделителя, и так до конца строки. При первом вызове функция принимате два аргумента: исходную строку arg1 и разделитель arg2. При каждом последующем вызове аргумент arg1 указываеть не надо, иначе будет возвращаться первая часть строки. Когда возвращать больше нечего, функция вернет false. Если часть строки состоит из 0 или из пустой строки, то функция также вернет false.
$str="This is an example№string№ Aaa";
$tok = strtok($str, " ");
while($tok) {
echo "$tok";
$tok = strtok(" №");
};
// выведет: "This" "is" "an" "example" "string"
Надо заметить, что в качестве разделителей указывается последовательность символов, каждый из которых в отдельности может являться разделителем, но когда в строке последовательно встречаются два или более разделителей, функция возвращает пустую строку (что может прекратить цикл обработки, как в примере).
explode Производит разделение строки в массив.
Синтаксис :
array explode(string seperator, string str [, int limit])
Функция explode() возвращает массив строк, каждая из которых соответствует фрагменту исходной строки str, находящемуся между разделителями, указанными аргументом separator. Необязательный параметр limit указывает максимальное количество элементов в массиве. Оставшаяся неразделенная часть будет содержаться в последнем элементе.
$str = "Path1 Path2 Path3 Path4";
$str_exp = explode(" ", $str);
// теперь $str_exp = array([0] => Path1, [1] => Path2,
// [2] => Path3, [3] => '', [4] => Path4)
implode Производит объединение массива в строку.
Синтаксис :
string implode(string glue, array pieces)
Функция implode() возвращает строку, которая содержит последовательно все элементы массива, заданного в параметре pieces, между которыми вставляется значение, указанное в параметре glue.
$str = implode(":", $arr);
join Производит объединение массива в строку.
Синтаксис :
string join(string glue, array pieces)
То же, что и implode().

Работа с блоками текста

str_replace Заменяет в исходной строке одни подстроки на другие.
Синтаксис :
string str_replace(string from, string to, string str)
Эта функция заменяет в строке str все вхождения подстроки from (с учетом регистра) на to и возвращает результат. Исходная строка, переданная третьим параметром, при этом не меняется. также эта функиция может работать с двоичными строками.
substr_replace Заменяет в исходной строке одни подстроки на другие.
Синтаксис :
string substr_replace(string str, string replacement, int start [, int lemgth])
Эта функция возвращает строку str, в которой часть от символа с позицией start и длиной length (или до конца, если аргумент длины не указан) заменяется строкой replacement.
Если значение start положительно, отсчет производится от начала строки str, иначе - от конца (-1 - последний символ строки).
Если значение length неотрицательно, тогда оно указывает длину заменяемого фрагмента. Если оно отрицательно, то это число символов от конца строки str до последнего символа заменяемого фрагмента (со знаком минус).
wordwrap Разбивает исходный текст на строки с определенными завершающими символами.
Синтаксис :
string wordwrap(string str [, int width [, string break [, int cut]]])
Эта функция разбивает блок текста str на несколько строк, завершаемых символами break, так, чтобы на одной строке было не более width букв. Разбиение происходит по границе слова, так что текст остается читаемым.
strtr Комплексная замена в строке.
Синтаксис :
string strtr(string str, string from, string to) string strtr(string str, array from)
В первом случае функция strtr() возвращает строку str, у которой каждый символ, присутствующий в строку from, заменяется на корреспондирующий из строки to. В случае, если строки from и to различной длины, то лишние конечные символы длинной строки игнорируются.
Во втором случае функция strtr() возвращает строку, в которой фрагменты строки str заменяются на соответствующие индексам значения элементов массива from. При этом функция пытается заменить сначало наибольшие фрагменты исходной строки и не выполняет замену в уже модифицированных частях строки. Таким бразом, теперь мы можем выполнить несколько замен сразу:
$Subs = array(
"" => "Larry",
"