create_function()是PHP中的內置函數,用於在PHP中創建匿名(lambda-style)函數。
用法:
string create_function ( $args, $code )
參數:該函數接受以下兩個參數:
- $args:它是一個字符串類型的函數參數。
- $code:它是字符串類型的函數代碼。
注意:通常,這些參數將作為單引號分隔的字符串傳遞。使用單引號引起來的字符串的原因是為了防止變量名被解析,否則,將需要雙引號來轉義變量名,例如\ $avar。
返回值:此函數以字符串形式返回唯一的函數名稱,否則,在錯誤時返回FALSE。
以下示例程序旨在說明PHP中的create_function()函數:
程序1:使用create_function()創建匿名函數
<?php
//create a function from information
// gathered at run time,
$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";
?>
輸出:
New anonymous function: lambda_1 ln(2) + ln(2.718281828459) = 1.6931471805599
程序2:使用create_function()創建常規函數
<?php
// General function that can apply a set of
// operations to a list of parameters.
function Program($value1, $value2, $arr)
{
foreach ($arr as $val) {
echo $val($value1, $value2) . "\n";
}
}
// create a bunch of math functions
$f1 = 'if ($a >= 0) { return "b * a^2 = ".
$b * sqrt($a);} else { return false; }';
$f2 = "return \"min(a, b) = \".min(\$a, \$b);";
$farr = array(
create_function('$x, $y', 'return
"a hypotenuse: ".sqrt($x * $x + $y * $y);'),
create_function('$a, $b', $f1),
create_function('$a, $b', $f2)
);
echo "first array of anonymous functions" .
"\nParameter is a = 2 and b = 3\n";
Program(2, 3, $farr);
// now make a bunch of string functions
$sarr = array(
create_function('$a, $b', 'return
"Lower case : " . strtolower($a) ;'),
create_function('$a, $b', 'return
"Similar Character : " .
similar_text($a, $b, $percent);')
);
echo "\nSecond array of anonymous functions" .
"\nParameter is a = GeeksForGeeks and" .
"b = GeeksForGeeks\n";
Program("GeeksForGeeks", "GeeksForGeeks", $sarr);
?>
輸出:
first array of anonymous functions Parameter is a = 2 and b = 3 a hypotenuse: 3.605551275464 b * a^2 = 4.2426406871193 min(a, b) = 2 Second array of anonymous functions Parameter is a = GeeksForGeeks andb = GeeksForGeeks Lower case : geeksforgeeks Similar Character : 13
參考文獻: http://php.net/manual/en/function.create-function.php
相關用法
- PHP cos( )用法及代碼示例
- PHP sin( )用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP pow( )用法及代碼示例
- PHP Ds\Set xor()用法及代碼示例
- PHP pi( )用法及代碼示例
- PHP next()用法及代碼示例
- PHP exp()用法及代碼示例
- PHP Ds\Set sum()用法及代碼示例
- PHP Ds\Set get()用法及代碼示例
- PHP Ds\Map get()用法及代碼示例
- PHP each()用法及代碼示例
- PHP abs()用法及代碼示例
- PHP each()用法及代碼示例
注:本文由純淨天空篩選整理自Mithun Kumar大神的英文原創作品 PHP | create_function() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。