Основные функции для работы с различными типами массивов
Классификация функций для работы со строками
Функции PHP для работы с массивами и строками
Рекурсия функций
Рекурсия бывает прямая (f вызывает f) и косвенная (f вызывает f1, а f1 вызывает f). Пример прямой рекурсии (расчет факториала):
function fact($x)
{
if ($x < 0) return 0;
if ($x == 0) return 1;
return $x * fact($x - 1);
}
htmlspecialchars(<строка>[,quote_style[,charset]])
$msg=htmlspecialchars($msg)
Функции форматного вывода:
printf(format,[&var1,...])
sprintf(format,[&var1,...])
sscanf(<строка>,format,[&var1,...])
Таблица — Спецификаторы преобразования
Заполнение | Выравнивание | Минимальная ширина | Точность | Тип |
«символ»[2] | «-»[3] | «число» | «число»[4] | d, f, s |
Пример:
%0[символ][выравнивания нет]2[минимальная ширина][точности нет]d[тип]
<?php
$d=1;
$m=1;
$y=06;
printf(“%02d/%02d/2%03d”,$d,$m,$y); // выводит 01/01/2006
?>
Функции преобразования кодировки:
convert_cyr_string(<строка>,<с>,<по>)
bin2hex(<строка>)
Функция поиска в тексте:
substr(<строка>,<номер символа>[,<длина>]) – возврат подстроки
А также: strpos(), strrpos(), strstr(), strchr(), stristr(), strrchr(), strspn(), substr_count(),strcspn()
Функции удаления пробелов:
trim(<строка>)
ltrim(<строка>), rtrim(<строка>)
Функции замены символов:
str_replace(<с какого символа>,<по какой>,<в какой строке>)
Функции объединения и разделения строк:
str_pad(str,<длина подстроки>[,p_str[,p_type]]) – разделяет строку на подстроки
explode(<аргументы>,<строка>[,<максимальная длина>]) – объединение строк
Функции сравнения строк:
similar_text(<строка1>,<строка2>[,<процент>]) – сравнение строк по алгоритму Оливера
levenshtein(<строка1>,<строка2>[,cost_inst,cost_rep,cost_del]) - сравнение строк по алгоритму Левенштейна
Функции работы с курсором:
reset(<массив>), end(<массив>), next(<массив>), count(<массив>)
Обход массива с помощью цикла foreach:
foreach(<массив> as [key=>]value) – обходит массив
<?php
$stud=array("Иванов","Петров","Сидоров");
echo("студенты:<br><ul>");
foreach($stud as $val)
{ echo("<li>$val</li>"); }
echo("</ul>");
?>
Функции сортировки:
sort(<массив>[,sort_flags]) – по возрастанию
rsort(<массив>[,sort_flags]) – по убыванию
sort_regular – нормальное стравнение
sort_numeric – как числа
sort_string – как строки
<?php
$c=array("one","two","three");
sort($c);
for($i=0;$i<count($c);$i++) {
echo("$i:$c[i]"); }
?>
asort(<массив>[,sort_flags]) – сортировка ассоциативных массивов
arsort(<массив>[,sort_flags])
<?php
$c=array("1"=>"one","2"=>"two","3"=>"three");
asort($c);
foreach($c as $key=>$val) {
echo("$key = $val ");}
?>
ksort(<массив>[,sort_flags])
krsort(<массив>[,sort_flags])
array_reverse(<массив>[,preserve_keys])
preserve_keys=true – обратная перестановка ключей
natsoft(<массив>)
Специально:
array_walk(<массив>,<функция>[,<дополнительные данные>])
funk($item,$key[,$userdata])
$item – значение элемента массива, $key – ключ элемента, $userdata - ДД.
<?php
$c=array("Ив"=>"10","Пе"=>"15","Си"=>"20");
function trans(&$item,$key,$kod) {
$item=$item/$kod;
echo("$key = $item "); }
$kod=5;
array_walk($c,'trans',$kod);
?>