內部函數定義在第二次考慮到所有這些文件:變量沒有的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