PHP - 在函数内部获取var

时间:2013-02-04 08:55:57

标签: php variables global-variables

我有一个类在一个类中的函数,我想要一个函数的var。我正在使用$this从类中的函数调用var。但不知道如何用参数调用函数。我希望$post['who']['points']使用外部函数。

功能

function post_meta_who($post, $class)
        {
            if (isset($post['who'])) {
                $this->output('<SPAN CLASS="'.$class.'-who">');

                if (strlen(@$post['who']['prefix']))
                    $this->output('<SPAN CLASS="'.$class.'-who-pad">'.$post['who']['prefix'].'</SPAN>');

                if (isset($post['who']['data']))
                    $this->output('<SPAN CLASS="'.$class.'-who-data">'.$post['who']['data'].'</SPAN>');

                if (isset($post['who']['title']))
                    $this->output('<SPAN CLASS="'.$class.'-who-title">'.$post['who']['title'].'</SPAN>');

                // You can also use $post['level'] to get the author's privilege level (as a string)

                if (isset($post['who']['points'])) {
                    $post['who']['points']['prefix']='('.$post['who']['points']['prefix'];
                    $post['who']['points']['suffix'].=')';
                    $this->output_split($post['who']['points'], $class.'-who-points');
                }

                if (strlen(@$post['who']['suffix']))
                    $this->output('<SPAN CLASS="'.$class.'-who-pad">'.$post['who']['suffix'].'</SPAN>');

                $this->output('</SPAN>');
            }
        }

3 个答案:

答案 0 :(得分:0)

我仍然不明白你的问题。

如果要在外部使用函数中的变量,则应将其声明为全局

global $variable;

如果你想获得return语句,你只需要写

$result=post_meta_who("example","example");

迎接

答案 1 :(得分:0)

$obj->post['who']['points']

答案 2 :(得分:0)

看起来您需要传递$post by reference

要执行此操作,请将函数声明更改为:

function post_meta_who(&$post, $class) {
    ...
}

&符号(&amp;)passes in the variable by reference因此对方法内$post所做的任何更改都会对方法外的变量产生影响。

我希望这有助于回答你的问题。