PHP数组索引使用变量

时间:2017-08-29 02:34:40

标签: php arrays indexing

在使用声明的变量作为我的数组索引时,我在获取数组内容时遇到了问题。

$indexes = "[0][1][0][1]";
$code = $params["smv_code"].$indexes;

这将返回“数组到字符串转换错误”;

请注意,$ indexes是动态的,取决于数组索引的“parent_0_1_0_1”参数内容。

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最后应该是您正在寻找的价值。