САМОУЧИТЕЛЬ PHP 4



         

Генерация функций - часть 2


$Mul=create_function('$a,$b', 'return $a*$b;');

$Neg=create_function('$a', 'return -$a;');

echo $Mul(10,20);  // выводит 200

echo $Neg(2);      // выводит -2

Не пропустите последнюю точку с запятой в конце строки, переданной вторым параметром create_function()!

Давайте теперь перепишем наш пример из листинга 24.2 с учетом create_function(). Это довольно несложно. Обратите внимание, насколько сократился код.

$Funcs=array();

for($i=0; $i<=100; $i++)

  $Funcs[]=create_function("","return $i*$i;");

echo $Funcs[12]();  // выводит 144

И последний пример применения анонимных функций — в программах сортировки с использованием пользовательских функций:

$a=array("orange", "apple", "apricot", "lemon");

usort($a,create_function('$a,$b', 'return strcmp($a,$b);'));

foreach($a as $key=>$value) echo "$key: $value<br>\n";




Содержание  Назад  Вперед