2017-07-18 206 views
-2

我需要將$ 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'); 
+0

閱讀[PHP函數](http://php.net/manual/en/language.functions.php)。 – axiac

+1

您需要涵蓋基本信息@chuckscoggins – DaAmidza

+0

@ Arslan.H我不確定您的意思。 – chuckscoggins

回答

1

請考慮函數範圍和函數變量。它們在函數內是有效的,只有在那裏,然後垃圾收集纔會發生。

您可以選擇將變量$ a設置在函數之外,並在函數內改變它的值,然後在其他函數中再次訪問它。你將不得不使用

$this->a['msg'] 

您還可以通過$爲基準,你的功能,Function arguments內操縱它,然後使用數組中的其他功能。