我希望将函数的结果传递给该函数中的包含文件。让我用一个例子解释一下。
的index.php
$siteurl = $_POST['url'];
function validator($siteurl){
global $lang, $siteurl;
......
......
......
return $output;
}
en.php
$lang = array();
$lang['site_url'] = 'Site url is' .$output. '';
$lang['site_url_delete'] = 'delete' .$output. '';
$lang['site_url_edit'] = 'edit ' .$output. '';
好吧,现在我想将验证函数从index.php传递给fa.php($ lang)。
我将此代码放在fa.php
:
$siteurl = $_POST['url'];
$output = validator($siteurl);
它可以工作,但它是脏工作,因为我不想为每个$lang
调用一个函数(Validator)。有更好的方法吗?
答案 0 :(得分:0)
您在php中包含的所有文件共享封闭范围。想想这就像你从包含的文件中复制所有代码并将其插入“main”文件而不是include
语句。
因此,您可以在index.php文件中编写$output = validator($siteurl)
,包含lang.php
文件并直接使用$output
变量。
但是,使用全局变量是一种不好的做法。一段时间后,它可能会使您的代码变得混乱。因此,请小心并考虑重新考虑应用程序的体系结构。
答案 1 :(得分:0)
我的方式错了!找到最好的解决方案! 用function.sprintf
解决了我的问题sprintf($lang['site_url'], $output)
$lang['site_url'] = 'Site url is %s';