第二次在 foreach 时未在函数内定义变量

2024-01-16

考虑所有这些文件:

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);

配置文件

 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;

邮件.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 未定义变量。

我知道如何解决这个问题,但我想了解为什么会发生这种情况。谁能解释一下吗?


您需要更改require_once('config.php') to a require,或者将其放在文件的顶部。

require_once只允许包含该文件一次,因此在第二次循环中不会再次包含该文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第二次在 foreach 时未在函数内定义变量 的相关文章

  • 如何使用WAMP登录phpMyAdmin,用户名和密码是什么?

    根 这个词是什么意思php我的管理员 http en wikipedia org wiki PhpMyAdmin 每当我写作时localhost phpmyadmin在地址栏上 我被要求输入用户名和密码 但我不知道它们是什么 我不记得何时何
  • 将变量从 PHP 发送到 Javascript

    我在两个单独的文件中有以下代码 其中一个是 javascript 另一个是 php JavaScript xmlhttp new XMLHttpRequest xmlhttp onreadystatechange function if t
  • Laravel 中的发布请求 - 错误 - 419 抱歉,您的会话/419 您的页面已过期

    我安装了 Laravel 5 7 向文件添加了一个表单 resources views welcome blade php
  • 如何在 jQuery.knob 中添加值后缀

    我有问题jQuery knob http anthonyterrien com knob 我需要添加一个Sufixx至旋钮中的值 例如 我需要一个后缀 数值后 我只是输入数值字段 它会显示 但此时旋钮不会显示状态 它不会显示旋钮状态 但后缀
  • 合并数组而不丢失键索引

    我有两个数组 Menu Navigation var array public nav top array 100 gt Dashboard 200 gt Sell 300 gt Products 400 gt History 500 gt
  • wkhtmltopdf 与 javascript-delay 不起作用

    使用下面的代码创建的 pdf 尚未完成 javascript 的渲染 因此 javascript 在一半的表格上执行 假设有 100 个表格 则有时完成 50 个表格 其他时候完成 52 54 个表格等 我正在使用旗帜 javascript
  • Symfony2 安全性 @Secure 注释不起作用

    我正在尝试使用注释来保护我的控制器 namespace Vinny StreamBundle Controller use Symfony Bundle FrameworkBundle Controller Controller use J
  • 将单独的范围放入二维数组中

    我正在尝试获取大小的二维数组 x 3 填充 X只是工作表的大小 行数 并且有 3 列我感兴趣 例如 这些列彼此不靠近arr i 0 应从 AA 栏开始填写 arr i 1 应来自 K 列 并且arr i 2 需要来自 L 列 我尝试按以下方
  • str_replace 为数组

    我在使用 PHP 函数时遇到一些问题str replace使用数组时 我有这样的消息 message strtolower L rzzo rwldd ty esp mtdsza d szdepw ty esp opgtw d dple 我正
  • 在 PHP 中读取“分块”POST 数据

    我试图在发送时使用 Transfer Encoding chunked 从请求中读取 POST 数据 但在收到所有数据之前无法启动脚本 是否可以让 PHP能够在分块请求通过时对其做出反应吗 将 PHP 5 3 8 与 Apache 结合使用
  • 使用 AJAX 来回发送信息

    使用 post 你可以向服务器发送信息 但是当你需要从服务器接收信息时怎么办呢 信息如何从可以由 php 变量保存的方式变为可以由 javascript 变量保存的方式 反之亦然 这与您的问题更相关 http docs jquery com
  • 将文件中的数字读取到动态分配的数组中

    我需要一个从文件中读取成绩 整数 并返回存储它们的动态分配数组的函数 这是我尝试过的 int readGrades int grades int x scanf d x grades malloc x sizeof int return 0
  • 是否可以在 PowerShell 中使 IndexOf 不区分大小写?

    我在终端服务器中由查询会话命令组成的数组中搜索索引时遇到问题 这是有问题的脚本 Array of logged users in terminal servers a Get RDUsersession CollectionName BLA
  • Symfony2 将复选框值从 0/1 更改为“no”/“yes”

    我创建了一个带有一个复选框的表单 用户设置类型 php public function buildForm FormBuilderInterface builder array options builder gt add newslett
  • 由带有换行符的 DOMDocument 生成的 XML

    我正在使用 PHP DOMDocument 创建 XML 文件 并且这些 XML 文件不能包含换行符 但是当我使用该方法时 保存 XML 生成的 XML 在定义和初始标记之间有一个换行符 如下所示
  • PHP 将日期与今天的日期进行比较

    我正在尝试采用以下格式的信用卡到期日期mm yy并查看该日期是否已过 以便我知道信用卡是否已过期 如果已经过期 则一类expired被插入到 tr 我的代码结果检查了 05 16 的样本日期 并且脚本显示该卡尚未过期 而显然该卡已经使用了一
  • Excel VBA 将范围值复制到数组,

    我有以下代码摘录 我试图将一系列值复制到声明的数组上 但它一直给我 无法分配给数组 错误 Dim permittedCurve 0 To 7000 As Variant permittedCurve activeWorkbook Works
  • PDO 从 Postgres 获取小数秒

    当我查询日期时间字段时postgresql 9 6 用一个简单的 pdo 语句 PHP7 sql SELECT date FROM table stmt adapter gt createStatement sql stmt gt prep
  • 单个返回语句与多个返回语句? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过jquery ajax()和serialize()提交html表单

    我想通过 jquery ajax 提交此表单 这是我所做的 但它不起作用 即表单正在提交并刷新页面 但我没有看到响应 即在同一页面上打印数组 HTML

随机推荐