<?php // def_converter служит для создания преобразующих функций. Она создаёт 2 // функции: к примеру down_to_up - для преобразования 1 аргумента, и // downs_to_ups для преобразования массива аргументов. def_converter('down', 'up', function ($s) { return strtoupper($s); }); echo down_to_up('hello') . "\n"; foreach (downs_to_ups(array('wor', 'ld')) as $v) { echo $v . "\n"; } ?> --- HELLO WOR LD
////////////////////////////////////////////////// def_memo('sum', function ($one, $two) { echo "Summing: {$one} - {$two} \n"; return $one + $two; }); puts('Result: ' . sum(1, 2)); puts('Result: ' . sum(1, 2)); puts('Result: ' . sum(2, 2)); // Summing: 1 - 2 // Result: 3 // Result: 3 // Summing: 2 - 2 // Result: 4 /////////////////////////////////// def_converter('id', 'object', function ($i) { return (object) $i; }); print_R(id_to_object(13)); /* stdClass Object ( [scalar] => 13 ) */ print_R(ids_to_objects(array(2, 3))); /* Array ( [0] => stdClass Object ( [scalar] => 2