Урок 7. Функции
Прислано AMD на Сентябрь 28 2011 01:24:29
как вы уже видели мы использовали встроеные в пхп функции. но мы
можем создавать свои функции. это делается для того что бы
использовать один и тот же код многократно.



функции задаются так



function имя_функции( переменные через запятую)

{

код функции

}





функции могут возвражать значения, но это не обязательно



 


цитата


function rfile($url) {



$f = @fopen($url,"r");

$content = @fread($f,filesize($url));

fclose($f);

return $content;



}



echo rfile("file.txt");






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

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



return - возвращpащает некое значение функции. в данном случае
возвращается содержимое текстового файла.

наличие return не обязательно. просто в этом случае функция не
будет возвращать значения.



часто используемы функции часто выносят в отдельные файлы
которые потом подключаются к коду с помощью include или require



эти функции имеют только одно отличие. при использовании include
вызываемый код вставляется сразу при вызове скрипта в который
она вставлена. require же подгружает код только при обращении к
ней при выполнении скрипта. при небольших скрипта это не
принципиально. при больших - require уменьшит нагрузку и скрип
будет выполнятся чуть быстрее.



для примера

func.php

 




цитата




<?

$nn="TEST";

echo $nn;

?>

 








сам скрипт

 




цитата




<?

include("func.php");

?>

 






он выведет на экран слово TEST



 




цитата




<?



if($ss=1)

require("func.php");

else

echo "не грузили";

?>

 




в этом случае загрузится ли код зависит от значения переменной
$ss





функции могут так же получать переменные

 




цитата


function transliter($_txt){



//Массивы с алфавитами.

$_rus=array('Й', 'Ц', 'У', 'К', 'Е', 'Ё', 'Н', 'Г', 'Ш',
'Щ', 'З', 'Х', 'Ъ', 'Ф', 'Ы', 'В', 'А', 'П', 'Р', 'О', 'Л',
'Д', 'Ж', 'Э', 'Я', 'Ч', 'С', 'М', 'И', 'Т', 'Ь', 'Б', 'Ю',
'й', 'ц', 'у', 'к', 'е', 'ё', 'н', 'г', 'ш', 'щ', 'з', 'х',
'ъ', 'ф', 'ы', 'в', 'а', 'п', 'р', 'о', 'л', 'д', 'ж', 'э',
'я', 'ч', 'с', 'м', 'и', 'т', 'ь', 'б', 'ю', ' ',);

$_eng=array('i', 'c', 'u', 'k', 'e', 'e', 'т', 'g', 'sh',
'sh', 'z', 'x', '', 'f', 'i', 'v', 'a', 'p', 'r', 'o', 'l',
'd', 'j', 'e', 'ja', 'ch', 's', 'm', 'i', 't', '', 'b', 'y',
'i', 'c', 'u', 'k', 'e', 'e', 'h', 'g', 'sh', 'sh', 'z',
'x', '', 'f', 'i', 'v', 'a', 'p', 'r', 'o', 'l', 'd', 'j',
'e', 'ja', 'ch', 's', 'm', 'i', 't', '', 'b', 'y', ' ');



//Ищем и заменям.

$_txt=str_replace($_rus, $_eng, $_txt);



return $_txt;

 






в эту функцию передается в качестве переменной текстовая строка
на русском языке. которая потом функцией переводится в транслит.



 









+++