if ( is_object($function) ) {
// Closures are currently implemented as objects
$function = array( $function, '' );
} else {
$function = (array) $function;
}$function = (array) $function;和$function = array( $function, '' );是什么意思自己个自己赋值?

解决方案 »

  1.   

    这是wordpress里的代码:function _wp_filter_build_unique_id($tag, $function, $priority) {
    global $wp_filter;
    static $filter_id_count = 0; if ( is_string($function) )
    return $function; if ( is_object($function) ) {
    // Closures are currently implemented as objects
    $function = array( $function, '' );
    } else {
    $function = (array) $function;
    } if (is_object($function[0]) ) {
    // Object Class Calling
    if ( function_exists('spl_object_hash') ) {
    return spl_object_hash($function[0]) . $function[1];
    } else {
    $obj_idx = get_class($function[0]).$function[1];
    if ( !isset($function[0]->wp_filter_id) ) {
    if ( false === $priority )
    return false;
    $obj_idx .= isset($wp_filter[$tag][$priority]) ? count((array)$wp_filter[$tag][$priority]) : $filter_id_count;
    $function[0]->wp_filter_id = $filter_id_count;
    ++$filter_id_count;
    } else {
    $obj_idx .= $function[0]->wp_filter_id;
    } return $obj_idx;
    }
    } elseif ( is_string( $function[0] ) ) {
    // Static Calling
    return $function[0] . '::' . $function[1];
    }
    }