You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP可变变量调用问题:如何通过$repeater获取对应拼接变量的值?

解决PHP变量变量调用问题

这是因为你当前的写法只解析了$repeater部分,并没有把拼接后的字符串当作完整的变量名来处理。让我给你几种可行的解决方案:

方法1:先拼接变量名,再用变量变量

先把完整的变量名组装出来,再通过$$语法访问对应的变量值:

// 先拼接得到完整的变量名
$fullVarName = $repeater . '_protein_feed';
// 输出对应变量的实际值
echo $$fullVarName;

方法2:用大括号包裹完整的变量名表达式

直接在大括号里写完整的变量名拼接逻辑,让PHP解析整个表达式作为变量名:

echo ${$repeater . '_protein_feed'};

这里的大括号包裹了$repeater . '_protein_feed'整个表达式,PHP会先计算出完整的变量名(比如moderate_protein_feed),再去读取这个变量的实际值。

方法3:推荐用数组替代变量变量(更清晰易维护)

变量变量的写法可读性差,还容易引发变量名冲突问题,更推荐把这些值整理到数组中,通过键名直接访问:

// 将所有饲料变量统一存入数组
$proteinFeeds = [
    'low' => $low_protein_feed,
    'moderate' => $moderate_protein_feed,
    'high' => $high_protein_feed
];

// 直接通过$repeater的值作为键名取值
echo $proteinFeeds[$repeater];

这种方式代码更直观,后期维护也更方便——比如新增其他等级的饲料时,只需要在数组里添加新的键值对即可。

内容的提问来源于stack exchange,提问作者bboybeatle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:03:35