内部函数定义在第二次考虑到所有这些文件:变量没有的foreach
vars.php
if($local){
$var = 'var';
$foo = 'foo';
$var1 = 'var1';
$foo1 = 'foo1';
}else{
$var = '';
$foo = '';
$var1 = '';
$foo1 = '';
}
/remote/vars.remote.php is the same as vars.php but different values for variables
cons.php
$local = isset($_SERVER['REMOTE_ADDR']) && ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') ? 1 : 0;
if ($local){
include_once ('vars.php');
}else{
include_once('/remote/vars.remote.php);
}
define(CONST_OP_1,$var);
define(CONST_MAIL_1,$foo);
define(CONST_OP_2,$var1);
define(CONST_MAIL_2,$foo1);
的config.php
require_once "Mail/Queue.php";
include_once ('cons.php');
$db_options['user'] = CONST_OP_1;
$db_options['pass'] = CONST_OP_2;
$mail_options['port'] = CONST_MAIL_1;
$mail_options['dsn'] = CONST_MAIL_2;
mail.php
class Sendmail
{
...
function sendc($var){
require_once ('config.php');
$mail_queue = new Mail_Queue($db_options , $mail_options);
}
...
}
comm.php
foreach($array_mails as $email){
$mail_q = $sendmail->sendc($u_name);
}
也有一些是我不明白,我没能想通这为什么会发生。当我执行comm.php
和ajax function
我传递和数组在$array_mails
,但对我来说一个奇怪的原因,一切正常工作在第一个循环,但在第二循环(和以下)在foreach似乎config.php
文件中的数组似乎不似乎要声明,所以它给我一个
注意:$ db_options和$ mail_options的未定义变量。
我知道如何解决这个问题,但我想了解为什么会发生这种情况。任何人都可以解释吗?
我不确定,但是当你替换''时会发生什么? 1:0'带'?在设置'$ local'变量值的代码部分是true:false'? – Maximus2012