簡體   English   中英

函數變量來自包含文件 - php

[英]Variable in function from included file - php

我沒有找到一個很好的答案我的問題,所以我開始一個新的主題。 我有文件english.php,其中包含$ lang ['fname'] =“名字”等變量; 我還有header.php,其中包括english.php:include('english.php');. 現在,header.php包含在另一個php頁面中,比如說addInfo.php。 如果我在addInfo.php中寫: echo $ lang ['fname']; 它顯示了我的“名字”,但是如果我在addInfo.php中寫一個函數,作為示例函數添加(){echo $ lang ['fname'];}然后添加(); (我也試過echo added())它不想顯示值(“名字”)。 有人知道這個樣本(我認為)問題的解決方案。 我准備嘗試所有答案了。 此致,StefanZ

當你寫這個:

function added () {
    echo $lang['fname'];
} 

PHP將搜索函數本地的$lang變量:

  • 它不會看到在函數之外聲明的全局元素。
  • 並且,由於沒有$lang變量集,在函數內部, $lang['fname']將為null - 即,當echo ed時它不會顯示任何內容。


要向PHP表明它應該使用函數外部的全局變量, 您需要在函數內部將變量聲明為global

function added () {
    global $lang;
    echo $lang['fname'];
} 


有關更多信息,請閱讀PHP手冊的“ 變量范圍”部分

你必須在你的函數中聲明全局$ lang

恩。

function added(){
   global $lang;

   echo $lang["fname"];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM