当前位置: 首页 > news >正文

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));

http://www.lryc.cn/news/470851.html

相关文章:

  • 五周年,继续破浪前行
  • 【操作系统】Linux之进程管理一
  • C语言_数据在内存中的存储
  • 华为原生鸿蒙操作系统:我国移动操作系统的新篇章
  • 队列的基本操作(数据结构)
  • linux开机自启动三种方式
  • AI创作者与人类创作者的协作模式
  • FPGA第 13 篇,使用 Xilinx Vivado 创建项目,点亮 LED 灯,Vivado 的基本使用(点亮ZYNQ-7010开发板的LED灯)
  • Kafka文档阅读笔记之基本操作
  • Golang | Leetcode Golang题解之第506题相对名次
  • 机器学习——元学习(Meta-learning)
  • 【TIMM库】是一个专门为PyTorch用户设计的图像模型库 python库
  • 【AIGC】从CoT到BoT:AGI推理能力提升24%的技术变革如何驱动ChatGPT未来发展
  • 若依部署上线遇到的问题
  • 一个vue3的待办列表组件
  • 深入分析梧桐数据库SQL查询之挖掘季度销售冠军
  • 「ZJUBCA秋季迎新见面会预告」
  • 钉钉消息推送工具类
  • Android Studio 导入/删除/新建库的模块(第三方项目) - Module
  • flowable 去掉自带的登录权限
  • 第T8周:猫狗识别
  • 第十七周:机器学习
  • 算法4之链表
  • 掌握未来技术:KVM虚拟化安装全攻略,开启高效云端之旅
  • 挖矿病毒的处理
  • JVM(HotSpot):GC之G1垃圾回收器
  • appium文本输入的多种形式
  • springboot095学生宿舍信息的系统--论文pf(论文+源码)_kaic
  • 使用SQL在PostGIS中创建各种空间数据
  • ArkTS 如何适配手机和平板,展示不同的 Tabs 页签