Основные функции для работы с различными типами массивов

Классификация функций для работы со строками

Функции 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);

?>