PHP-Fusion
v.7.01
AP-Fusion
v7.02.03
Pimped-Fusion-AP
v0.09.03
февраля 11 2012 23:55:35
Навигация
· Новости
· Статьи
· Скачать
· Форум
· Ссылки
· Категории новостей
· Обратная связь
· Галерея
· Поиск
· Гостевая
· Коллекция аватар
· CMS AP-Fusion. Отличия от PHP-Fusion
· Javascript справочник
· Разное
Сейчас на сайте
· Гостей: 4

· Пользователей: 0

· Всего пользователей: 441
· Новый пользователь: yak21
Информеры
Загрузка файлов  +  -
Бытовая техника:  +  
Лента alipapa.ru
Карпаты. Верховина.
Карпаты. Драгобрат.
Карпаты. Яремче, Яблунецкий перевал.
dbForge Studio for MySQL вместо PHPMyAdmin
Облачные технологии - насколько это серьезно?
Как распределяется вес по сайту

Совместимость CMS
Solomono.ru - сервис для веб-мастера
Микроразметка веб-страниц.
АГС - не приговор.

Немного о политике.
Что такое АГС и как с ним бороться?
Долгожданный АП PR

PR Google: 9 месяцев без апдейта
Поведенческий фактор - модная тенденция?
Wi-Fi дома. Что делать, если 192.168.0.1 занято?

Ускоренная переиндексация страниц в Яндексе
Как я ставил винду на нетбук.
ROOKEE - инструмент оптимизатора.
Строим рейтинг-каталог
Ссылки  +  -
Блоги
Alipapa
» Блог Алипапы
lom
» Блог Лома
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
Pimped-Fusion. Первые впеча...
Ошибки, баги, глюки
1759 83 Alipapa
10-02-2012 19:36
Произвольные Title на любой...
Вопросы по работе
47 1 Alipapa
07-02-2012 14:28
Мультикатегории в новостях
Моды, плагины
248 8 Alipapa
28-01-2012 00:47
AP-Fusion 7.02
Вопросы по работе
2729 29 Alipapa
18-01-2012 17:59
Расширенный каталог статей.
Моды, плагины
12115 167 Alipapa
14-12-2011 23:32

create_function

(PHP 4 >= 4.0.1, PHP 5)

create_function -- Создаёт анонимную (lambda-style) функцию

Описание

string create_function ( string args, string code )

Создаёт анонимную функцию из переданных параметров и возвращает её уникальное имя. Обычно args передаются строкой в апострофах, что также рекомендуется для параметра code. Основанием для использования строк в апострофах является защита имён переменных от обработки, другими словами, если вы будете использовать кавычки, вам будет нужно экранировать все имена переменных вот так: \$avar.

Вы можете использовать эту функцию (к примеру) для создания функций на основании информации, полученной во время выполнения программы:

Пример 1. Создание анонимной функции с помощью create_function()

<?php
$newfunc
= create_function ( '$a,$b' , 'return "ln($a) + ln($b) = " . log($a * $b);' );
echo
"New anonymous function: $newfunc \n " ;
echo
$newfunc ( 2 , M_E ) . "\n" ;
// outputs
// New anonymous function: lambda_1
// ln(2) + ln(2.718281828459) = 1.6931471805599
?>

Или, возможно, чтобы иметь общий обработчик для применения набора функций к списку параметров:

Пример 2. Создание функции-обработчика с помощью create_function()

<?php
function process ( $var1 , $var2 , $farr )
{
    for (
$f = 0 ; $f < count ( $farr ); $f ++) {
        echo
$farr [ $f ]( $var1 , $var2 ) . "\n" ;
    }
}

// create a bunch of math functions
$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}' ;
$f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);" ;
$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }' ;
$farr = array(
    
create_function ( '$x,$y' , 'return "some trig: ".(sin($x) + $x*cos($y));' ),
    
create_function ( '$x,$y' , 'return "a hypotenuse: ".sqrt($x*$x + $y*$y);' ),
    
create_function ( '$a,$b' , $f1 ),
    
create_function ( '$a,$b' , $f2 ),
    
create_function ( '$a,$b' , $f3 )
    );

echo
"\nUsing the first array of anonymous functions\n" ;
echo
"parameters: 2.3445, M_PI\n" ;
process ( 2.3445 , M_PI , $farr );

// now make a bunch of string processing functions
$garr = array(
    
create_function ( '$b,$a' , 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" ' .
    
'and \"$b\"\n** Look the same to me! (looking at the first 3 chars)";' ),
    
create_function ( '$a,$b' , '; return "CRCs: " . crc32($a) . " , ".crc32(b);' ),
    
create_function ( '$a,$b' , '; return "similar(a,b) = " . similar_text($a, $b, &$p) . "($p%)";' )
    );
echo
"\nUsing the second array of anonymous functions\n" ;
process ( "Twas brilling and the slithy toves" , "Twas the night" , $garr );
?>

Вышеприведённый код выводит следующее:

Using the first array of anonymous functions
parameters: 2.3445, M_PI
some trig: -1.6291725057799
a hypotenuse: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a/b) = 0.27122299212594

Using the second array of anonymous functions
** "Twas the night" and "Twas brilling and the slithy toves"
** Look the same to me! (looking at the first 3 chars)
CRCs: -725381282 , 1908338681
similar(a,b) = 11(45.833333333333%)

Однако, вероятно, наиболее обоснованное использование lambda-style (анонимных) функций - это создание функций-обработчиков, например, при использовании array_walk() или usort()

Пример 3. Использование анонимной функции как функции-обработчика

<?php
$av
= array( "the " , "a " , "that " , "this " );
array_walk ( $av , create_function ( '&$v,$k' , '$v = $v . "mango";' ));
print_r ( $av );
?>

выводит:

Array
(
  [0] => the mango
  [1] => a mango
  [2] => that mango
  [3] => this mango
)

Сортировка строк по их длине

<?php

$sv
= array( "small" , "larger" , "a big string" , "it is a string thing" );
print_r ( $sv );

?>

результат:

Array
(
  [0] => small
  [1] => larger
  [2] => a big string
  [3] => it is a string thing
)

Теперь отсортируем их в обратном порядке:

<?php

usort
( $sv , create_function ( '$a,$b' , 'return strlen($b) - strlen($a);' ));
print_r ( $sv );

?>

результат:

Array
(
  [0] => it is a string thing
  [1] => a big string
  [2] => larger
  [3] => small
)

Все функции PHP:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

04/02/2012 09:08
Еще раз прошу всех. Если вопрос не личный, пишите в форум. В личке, аське, скайпе, мейле и т.д. не консультирую

14/01/2012 18:45
avisei, пиши в форум, а не шли мне личные посланья

31/12/2011 16:01
С праздником Нового Года! Успехов, счастья, богатства!

08/12/2011 16:13
MySQL нужен. Инструкция вот: [url]http://ap-fus
ion.ru/downloads.p
hp?download_id=58[
/url]

08/12/2011 16:03
Я канеш дико извиняюсь, но где на этом сайте статья по установке fusion, нужен ему MySql или нет? Smile

07/12/2011 11:03
ОК)

07/12/2011 11:02
этот - для 7.0

07/12/2011 11:00
Я устанавливаю, как в инструкции. Куча ошибок. Не могу сделать upgrade!

07/12/2011 10:56
Для какой стандартной подходит, для такой же и ap-fusion подойдет

07/12/2011 10:54
Для какой версии AP-FUSION подходит "extended-downloads
"? Shock

24/10/2011 20:48
Валиор, я не поленился и проверил еще раз - в трех файлах этот фрагмент есть, в одном из них - дважды. Так что я не ошибся, это Вы так искали.

24/10/2011 16:06
Ну Вам удалось, значит в принципе возможно. А вообще не рекомендую, но если очень хочется, придется смириться с некоторыми неудобствами. На этом сайте поддержка реализована частично.

24/10/2011 16:05
Возможно ли регистрировать кирилические ники? В письме с регистрацией не указан логин.

21/10/2011 17:03
Занимаюсь. Локаль в порядок привожу. Сегодня или завтра что-нибудь выложу.

20/10/2011 16:09
да бог с ним, ты лучше пимпедом займись, а я не буду в этой сборке использовать основной каталог.

18/10/2011 21:54
Papich, плагин проверю обязательно, мб неисправленный в сборку поставил

22/09/2011 20:47
http://tools.dynam
icdrive.com/favico
n/ - фавиконка быстро и удобно

12/08/2011 21:09
Потому что не осознали еще всего того удобства, что он предоставляет.

10/08/2011 10:20
Почему никого не интересует мой новый чат?

13/06/2011 12:13
Самому не нравится. Пробовал по всякому. Вдобавок ещё и таблицу обрезает, остаётся процентов 40. http://www.cqham.s
umy.ua/viewpage.ph
p?page_id=44 - вариант вставки таблицы

Анонс
Последние статьи
· СМС и Вебмани
· TinyMCE для пользова...
· PCRE (Perl Compatibl...
· PCRE (Perl Compatibl...
· 510
4,249,293 уникальных посетителей Iceberg by Harly