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

PHP数组元素取值问题:带引号键名失效原因咨询

问题原因分析与解决办法

这问题其实很好理解——你不小心给数组键名多套了一层单引号,导致和实际存在的键不匹配了!

核心差异对比

先看你的两段代码的键名区别:

  • 正常运行的代码中,你用的键是['55']:这里的单引号是PHP的字符串界定符,不是键名的一部分,实际数组里的键就是纯文本的55。
  • 出错的代码中,你拼接出来的键是"'" .$special_term_id. "'":这段代码会生成一个包含单引号的字符串(比如'55',注意左右的单引号是键名的一部分)。

而你的$form['shs_term_node_tid_depth']['#options']数组里,根本不存在带单引号的键'55',只有不带单引号的键55,自然就找不到对应的值了。

修正方案

你只需要去掉多余的单引号拼接逻辑,直接用变量作为键名即可——PHP会自动处理整数到字符串的类型转换(数组的字符串键和整数键在匹配时会兼容):

$special_term_id = 55;
$special_term_name = $form['shs_term_node_tid_depth']['#options'][$special_term_id];
echo $special_term_name;

如果担心类型兼容性问题,也可以显式把变量转为字符串:

$special_term_id = 55;
$special_term_name = $form['shs_term_node_tid_depth']['#options'][(string)$special_term_id];
echo $special_term_name;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:49:23