在PHP中使用字符串的值作为数组名称

时间:2018-02-24 18:46:18

标签: php wordpress class

我正在尝试使用我编写的类方法设置HTML nameid属性的值。我们的想法是name属性的值最终如下:name="key[field_name]"

如果我硬编码key以使它name="key[' . $field_name . ']",那么我就可以使用它,但这会使得该类完成所有繁重的工作,因为这是针对WordPress自定义帖子类型的。< / p>

所以我创建了一个包含值的类参数post_type_key。但是,当我将它们组合起来时,它不起作用,而且我只得到name="k"

我看了,我能找到的唯一解决办法就是使用eval(),我绝对不想这样做。

以下是相关代码:

$post_key = $this->post_type_key;

if ( $field_type == 'text' ) {
   $meta_field .= '<input type="' . $field_type . '" name="'.
   $post_key[$field_id_name ] . '" id="' . $field_id_name . 
   '" value="' . $meta[$field_id_name][0] . '" />';
}

1 个答案:

答案 0 :(得分:0)

我明白了。我不得不使用{}来包含变量名称。所以:

name="'. $this->post_type_key[$field_id_name] . '"

成为:

name="'. "{$post_key}" . '[' . $field_id_name . ']"

检查HTML并且它工作正常,WordPress错误日志清除了我收到的无效字符串偏移消息。