在使用声明的变量作为我的数组索引时,我在获取数组内容时遇到了问题。
$indexes = "[0][1][0][1]";
$code = $params["smv_code"].$indexes;
这将返回“数组到字符串转换错误”;
请注意,$ indexes是动态的,取决于数组索引的“parent_0_1_0_1”参数内容。
答案 0 :(得分:1)
.
运算符只执行string concatenation - 它不适用于此类代码。我不认为PHP有能力解释这样的原始代码 - 至少不安全。 (你总是可以使用eval
,但是使用类似的东西会有严重的安全问题 - 注射等等。
我建议只是遍历数组"手动"通过自己解释索引。将$indexes
更改为"0,1,0,1"
并执行以下操作:
$index_array = explode(',',$indexes)
$code = $params["smv_code"];
foreach($index_array as $i) {
$code=$code[$i];
}
$code
最后应该是您正在寻找的价值。