1

我有一些 $option_name_options 形式的数组,其中包含与 $option_name 中的内容相关的值。我需要将这些数组传递给 foreach 循环中的函数,为此我尝试了以下操作:

foreach($options as $option_name => $option_value) {

...

$select_options = '$' . $option_name . '_options';

...

}

但这会将数组的名称作为字符串分配给 $select_options,而不是数组本身,这正是我想要的。我试图找到一个小时的解决方案,还没有运气。有人知道吗?

4

3 回答 3

1

删除字符串中的 $ 符号,只需将名称分配为字符串并使用变量变量。

$select_options = $option_name . '_options';

print_r($$select_options);
于 2012-09-25T14:39:34.870 回答
0
foreach($options as $option_name => $option_value) {
    ...
    $select_options[] = $option_name; //if you want an array of keys from $options
    ...
}

或者更好的解决方案:

    $select_options = array_keys($options);    
于 2012-09-25T14:43:01.917 回答
0
$varname = $option_name.'_options';
$select_options = $$varname;
于 2012-09-25T14:43:14.077 回答