php 支持可变函数,PHP可变函数学习小结

在上篇文章给大家介绍了php可变变量,今天通过本篇文章给大家介绍php可变函数,具体详情如下。

PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。

可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。

Example #1 可变函数示例

function foo() {

echo "In foo()
\n";

}

function bar($arg = '') {

echo "In bar(); argument was '$arg'.
\n";

}

// 使用 echo 的包装函数

function echoit($string)

{

echo $string;

}

$func = 'foo';

$func(); // This calls foo()

$func = 'bar';

$func('test'); // This calls bar()

$func = 'echoit';

$func('test'); // This calls echoit()

?>

也可以用可变函数的语法来调用一个对象的方法。

class Foo

{

function Variable()

{

$name = 'Bar';

$this->$name(); // This calls the Bar() method

}

function Bar()

{

echo "This is Bar";

}

}

$foo = new Foo();

$funcname = "Variable";

$foo->$funcname(); // This calls $foo->Variable()

?>

当调用静态方法时,函数调用要比静态属性优先:

Example #3 Variable 方法和静态属性示例

class Foo

{

static $variable = 'static property';

static function Variable()

{

echo 'Method Variable called';

}

}

echo Foo::$variable; // This prints 'static property'. It does need a $variable in this scope.

$variable = "Variable";

Foo::$variable(); // This calls $foo->Variable() reading $variable in this scope.

?>

可以使用可变函数的方法列表如下:

array_diff_assoc()

array_diff_key()

array_diff_uassoc()

array()

array_intersect_ukey()

array_map()

array_merge()

array_merge_recursive()

array_multisort()

array_push()

array_replace()

array_replace_recursive()

array_unshift()

call_user_func()

call_user_method()

compact()

dba_open()

dba_popen()

echo()

forward_static_call()

fprintf()

fscanf()

httprequestpool_construct()

ibase_execute()

ibase_set_event_handler()

ibase_wait_event()

isset()

list()

maxdb_stmt_bind_param()

maxdb_stmt_bind_result()

mb_convert_variables()

newt_checkbox_tree_add_item()

newt_grid_h_close_stacked()

newt_grid_h_stacked()

newt_grid_v_close_stacked()

newt_grid_v_stacked()

newt_win_choice()

newt_win_entries()

newt_win_menu()

newt_win_message()

newt_win_ternary()

pack()

printf()

register_shutdown_function()

register_tick_function()

session_register()

setlocale()

sprintf()

sscanf()

unset()

var_dump()

w32api_deftype()

w32api_init_dtype()

w32api_invoke_function()

wddx_add_vars()

wddx_serialize_vars()

下面给大家介绍下 PHP Math函数

php math简介

数学 (Math) 函数能处理 integer 和 float 范围内的值。

php math 函数

PHP:指示支持该函数的最早的 PHP 版本。

函数

描述

PHP

绝对值。

3

反双曲余弦。

4

反双曲正弦。

4

两个参数的反正切。

3

反双曲正切。

4

把二进制转换为十进制。

3

向上舍入为最接近的整数。

3

双曲余弦。

4

把十进制转换为二进制。

3

把十进制转换为十六进制。

3

把十进制转换为八进制。

3

将角度转换为弧度。

3

返回 Ex的值。

3

返回 Ex- 1 的值。

4

向下舍入为最接近的整数。

3

返回除法的浮点数余数。

4

显示随机数最大的可能值。

3

把十六进制转换为十进制。

3

计算直角三角形的斜边长度。

4

判断是否为合法数值。

4

返回范围为 (0, 1) 的一个伪随机数。

4

自然对数。

3

以 10 为底的对数。

3

返回 log(1 + number)。

4

返回最大值。

3

返回最小值。

3

使用 Mersenne Twister 算法返回随机整数。

3

播种 Mersenne Twister 随机数生成器。

3

把八进制转换为十进制。

3

返回圆周率的值。

3

返回 x 的 y 次方。

3

把弧度数转换为角度数。

3

返回随机整数。

3

对浮点数进行四舍五入。

3

双曲正弦。

4

播下随机数发生器种子。

3

PHP Math 常量

常量名

常量名

常量值

PHP

M_E

e

2.7182818284590452354

4

M_EULER

Euler 常量

0.57721566490153286061

5.2.0

M_LNPI

log_e(pi)

1.14472988584940017414

5.2.0

M_LN2

log_e 2

0.69314718055994530942

4

M_LN10

log_e 10

2.30258509299404568402

4

M_LOG2E

log_2 e

1.4426950408889634074

4

M_LOG10E

log_10 e

0.43429448190325182765

4

M_PI

Pi

3.14159265358979323846

3

M_PI_2

pi/2

1.57079632679489661923

4

M_PI_4

pi/4

0.78539816339744830962

4

M_1_PI

1/pi

0.31830988618379067154

4

M_2_PI

2/pi

0.63661977236758134308

4

M_SQRTPI

sqrt(pi)

1.77245385090551602729

5.2.0

M_2_SQRTPI

2/sqrt(pi)

1.12837916709551257390

4

M_SQRT1_2

1/sqrt(2)

0.70710678118654752440

4

M_SQRT2

sqrt(2)

1.41421356237309504880

4

M_SQRT3

sqrt(3)

1.73205080756887729352

5.2.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值