在函数之间传递变量

时间:2017-07-18 21:02:27

标签: php

我需要将$ a [' msg']传递给第二个函数(在php中)。我已经尝试过全局变量,显然,我做错了。有人可以帮忙。

function shreinlink_func( $atts ) 
{

    $a = shortcode_atts( array(
        'url' => 'something',
        'msg' => 'something else',
    ), $atts );

    return "<a onclick=\"shreinpop()\" data-emailID=\"shreinpop\" href=\"{$a['url']}\">Email</a>";

} 

add_shortcode( 'shreinlink', 'shreinlink_func' );

function shreinlink_head() 
{

    echo "
        <script type=\"text/javascript\">
            function shreinpop() {
            alert($a['msg']);
        }
        </script>
    "; 

}

add_action( 'wp_head', 'shreinlink_head' );

1 个答案:

答案 0 :(得分:1)

请考虑功能范围和功能变量。它们在函数内有效,只有那里,然后进行垃圾收集。

您可以选择在函数外部设置变量$ a,并在函数内部更改它的值,然后在其他函数内再次访问它。你必须使用

$this->a['msg']

您还可以传递$ a作为参考并在函数Function arguments中对其进行操作,然后在您的其他函数中使用该数组。