PHP - 将函数的结果发送到包含的文件

时间:2015-05-10 07:40:16

标签: php

我希望将函数的结果传递给该函数中的包含文件。让我用一个例子解释一下。

的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)。有更好的方法吗?

2 个答案:

答案 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';