You need to enable JavaScript to run this app. 如何在未知变量名/数组名的情况下获取另一个PHP文件中的所有变量和数组
优惠活动
大模型
产品
解决方案
定价
更多

如何在未知变量名/数组名的情况下获取另一个PHP文件中的所有变量和数组

实现方案

核心思路

通过「引入目标文件前后对比已定义变量的差集」的方式,精准筛选出仅在example.php中定义的变量,完全避开全局系统变量的干扰。

具体实现代码(部署在main.php中即可)

<?php
// 1. 引入目标文件前,先获取当前所有已定义变量作为基准白名单
$base_vars = get_defined_vars();

// 2. 引入example.php
include 'example.php';

// 3. 引入完成后,再次获取当前所有已定义变量
$after_include_vars = get_defined_vars();

// 4. 计算变量差集,同时过滤掉我们自己定义的基准变量$base_vars本身
$example_custom_vars = array_diff_key($after_include_vars, $base_vars, ['base_vars' => 1]);

// 输出结果:$example_custom_vars的键为变量名,值为对应变量/数组的内容
print_r($example_custom_vars);

方案说明

  • 差集计算使用array_diff_key仅对比变量名(数组键),不需要对比变量值,运行效率更高
  • 额外过滤base_vars是为了排除用于对比的临时变量,避免结果混入无关项
  • 无需提前知道example.php内的任何变量命名规则,无论变量名是固定还是随机生成都可以正常抓取

内容的提问来源于stack exchange,提问作者Álvaro García

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 11:48:03