0

我有一个变量$doctype是一个数组:

$doctype = array(
    'news' => ('news'),
    'documents' => ('documents'),
    'forms' => ('forms'),
    'other' => ('other'),
);

用作另一个数组的选项:

$form['doc_type'] = array(
    '#title' => 'Document Type',
    '#type' => 'radios',
    '#options' => $doctype,
    '#size' => '30',
    '#required' => TRUE,
    '#default_value' => $doctype['news'],

现在我正在尝试将当前值传递给另一个函数

我试过了:

form($form_state, &$doctype) {

但它显示为一个缺失的论点

我想通过参考传递它,而不是作为回报(已经被占用/不想解决它)

任何帮助表示赞赏

4

1 回答 1

2

假设form()将其第二个参数指定为引用,那么您不应将&$doctype其作为参数传递。如果函数将参数指定为引用,那么您需要做的就是传递该变量,它将作为引用传递。

例如

<?php
    function form($var1, &$var2) {
        $var2[2] = 5;
    }
    $var2 = array(1,2,3,4);
    form('test', $var2);
    echo $var2[2]; // Echoes '5';
?>

但是,我再次假设它form()是内置在drupal中的,在这种情况下,据我所知,$doctype如果不更改定义的核心代码,就无法作为引用传递form()

出于好奇,为什么需要将其作为参考传递?你能澄清一下“已经被占用/不想解决它”

于 2013-06-21T00:14:23.183 回答