PHP函数帮助

时间:2010-02-21 12:08:00

标签: php moodle

我写了这段代码,为$ USER输出profile_display_fields

$appearance = profile_display_fields($USER->id);
        if (empty($appearance)) {
            //Do nothing
        } else {
            foreach ($appearance as $c) {
            $custom .= '<a href=\''.$CFG->wwwroot.'/course/view.php?id='.$c->id.'\'>'.$c->fullname.'</a>';
            }
        }

这是我正在使用的功能:

function profile_display_fields($userid) {
    global $CFG, $USER;

    if ($categories = get_records_select('user_info_category', '', 'sortorder ASC')) {
        foreach ($categories as $category) {
            if ($fields = get_records_select('user_info_field', "categoryid=$category->id", 'sortorder ASC')) {
                foreach ($fields as $field) {
                    require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
                    $newfield = 'profile_field_'.$field->datatype;
                    $formfield = new $newfield($field->id, $userid);
                    if ($formfield->is_visible() and !$formfield->is_empty()) {
                        print_row(s($formfield->field->name.':'), $formfield->display_data());
                    }
                }
            }
        }
    }
}

我要做的是尝试一些var_dump来输出正确的数据。

然而,任何人都可以帮我识别变量吗?

1 个答案:

答案 0 :(得分:1)

在你的函数中,你没有返回任何值但是在代码中的值之上,你已经为这个函数分配了一个变量:

$appearance = profile_display_fields($USER->id);

您需要从函数返回一些变量/数据,并且是要转储的

我认为您正在使用print_row 打印数据,而不是返回要在函数外使用的响应。