PHP 代码执行相关函数

函数

说明

示例代码

${}

用于复杂的变量解析,通常在字符串内用来解析变量或表达式。可以配合 eval

或其他动态执行代码的功能,用于间接执行代码。

eval('${flag}');

eval()

用于执行一个字符串作为 PHP 代码。可以执行任何有效的 PHP 代码片段。没有返回值,除非在执行的代码中明确返回。

eval('echo $flag;');

assert()

测试表达式是否为真。PHP 8.0.0 之前,如果 assertion

是字符串,将解释为 PHP 代码并通过 eval()

执行。
PHP 8.0.0 后移除该功能。

assert(print_r($flag));

call_user_func()

用于调用回调函数,可以传递多个参数给回调函数,返回回调函数的返回值。适用于动态函数调用。

call_user_func('print_r', $flag);

create_function()

创建匿名函数,接受两个字符串参数:参数列表和函数体。返回一个匿名函数的引用。
自 PHP 7.2.0 起被废弃,并自 PHP 8.0.0 起被移除

create_function('$a', 'echo $flag;')($a);

array_map()

将回调函数应用于数组的每个元素,返回一个新数组。适用于转换或处理数组元素。

array_map(print_r($flag), $a);

call_user_func_array()

调用回调函数,并将参数作为数组传递。适用于动态参数数量的函数调用。

call_user_func_array(print_r($flag), array());

usort()

对数组进行自定义排序,接受数组和比较函数作为参数。适用于根据用户定义的规则排序数组元素。

usort($a,print_r($flag));

array_filter()

过滤数组元素,如果提供回调函数,仅包含回调返回真值的元素;否则,移除所有等同于false的元素。适用于基于条件移除数组中的元素。

array_filter($a,print_r($flag));

array_reduce()

迭代一个数组,通过回调函数将数组的元素逐一减少到单一值。接受数组、回调函数和可选的初始值。

array_reduce($a,print_r($flag));

preg_replace()

执行正则表达式的搜索和替换。可以是单个字符串或数组。适用于基于模式匹配修改文本内容。
依赖 /e 模式,该模式自 PHP7.3 起被取消。

preg_replace('/(.*)/ei', 'strtolower("\\1")', ${print_r($flag)});

ob_start()

ob_start — 打开输出控制缓冲,可选回调函数作为参数来处理缓冲区内容。

ob_start(print_r($flag));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值