传递当前数组作为引用[PHP/Drupal6]


Pass current array as reference [PHP/Drupal6]

我有一个数组变量$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) {

但是它显示为缺少参数

我想通过引用传递它,而不是作为返回(已经被占用/不想绕过它)

感谢您的帮助

假设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()的核心代码

出于好奇,你为什么要把它作为参考?