PHP 重新加载数组值中的变量
PHP Reload Variable in array value
我对数组值中的变量声明和值有一点疑问。让我解释一下:
情况:
我的脚本顶部有一个 'Require'。在这个要求中,有一个包含以下内容的数组:
....
$oModules[5]['QUERY'] = array(
'UPDATE voorraad INNER JOIN import_soldenperc ON import_soldenperc.barbodykleur = voorraad.barbodykleur '.(($trigger_filter_store) ? 'AND import_soldenperc.store = voorraad.mag' : '' ) SET voorraad.solden_pct = import_soldenperc.solden_pct, voorraad.solden_vp = 0, voorraad.solden_sta = DATE(import_soldenperc.solden_sta), voorraad.solden_end = DATE(import_soldenperc.solden_end);'
);
....
如你所见,这个数组值里面有一个变量'trigger'。
问题:
这个变量是在我的 require
之后设置的
...
require_once 'application.php';
....
....
foreach($headValue..
if('store' == $fieldValue){
$trigger_filter_store = true;
}
...
然后在我的脚本底部,有一个函数调用我的数组值:
foreach ($oModules[$_SESSION['module_id']]['QUERY'] as $Query){
//Execute query
问题:
我的 $trigger_filter_store 变量在开始时与 require 一起设置(它将数组值解析为连接的字符串)。
我如何 "reload" 或 "reset" 这个 [QUERY] 字符串更新后的 $trigger_filter_store ?
这是一个 运行 脚本,我不能在其中添加很多更改,因为它是一个执行必要查询的导入页面,具体取决于在 application.php 模块中选择的模块-array,我不想 "break" 整个数组设置。
我想到的唯一 "simple" 解决方案是在设置变量后要求我的 application.php,但我使用了 application.php 中的一些函数在我设置我的变量之前.
我真的没有想法(没有破坏整个脚本)。
谢谢!
不要将文件包含在页面顶部,而是将其移动到您需要的位置,以便先设置变量,然后再包含文件。
您可以使用@khuderm 解决方案并在设置变量后使用 require
,或者您可以这样做:
$oModules[5]['QUERY'] = array(
function($trigger_filter_store) {
return 'UPDATE voorraad INNER JOIN import_soldenperc...';
}
)
然后在你的 foreach 中用 $Query($trigger_filter_store);
调用函数。
我对数组值中的变量声明和值有一点疑问。让我解释一下:
情况: 我的脚本顶部有一个 'Require'。在这个要求中,有一个包含以下内容的数组:
....
$oModules[5]['QUERY'] = array(
'UPDATE voorraad INNER JOIN import_soldenperc ON import_soldenperc.barbodykleur = voorraad.barbodykleur '.(($trigger_filter_store) ? 'AND import_soldenperc.store = voorraad.mag' : '' ) SET voorraad.solden_pct = import_soldenperc.solden_pct, voorraad.solden_vp = 0, voorraad.solden_sta = DATE(import_soldenperc.solden_sta), voorraad.solden_end = DATE(import_soldenperc.solden_end);'
);
....
如你所见,这个数组值里面有一个变量'trigger'。
问题: 这个变量是在我的 require
之后设置的 ...
require_once 'application.php';
....
....
foreach($headValue..
if('store' == $fieldValue){
$trigger_filter_store = true;
}
...
然后在我的脚本底部,有一个函数调用我的数组值:
foreach ($oModules[$_SESSION['module_id']]['QUERY'] as $Query){
//Execute query
问题: 我的 $trigger_filter_store 变量在开始时与 require 一起设置(它将数组值解析为连接的字符串)。
我如何 "reload" 或 "reset" 这个 [QUERY] 字符串更新后的 $trigger_filter_store ?
这是一个 运行 脚本,我不能在其中添加很多更改,因为它是一个执行必要查询的导入页面,具体取决于在 application.php 模块中选择的模块-array,我不想 "break" 整个数组设置。
我想到的唯一 "simple" 解决方案是在设置变量后要求我的 application.php,但我使用了 application.php 中的一些函数在我设置我的变量之前.
我真的没有想法(没有破坏整个脚本)。
谢谢!
不要将文件包含在页面顶部,而是将其移动到您需要的位置,以便先设置变量,然后再包含文件。
您可以使用@khuderm 解决方案并在设置变量后使用 require
,或者您可以这样做:
$oModules[5]['QUERY'] = array(
function($trigger_filter_store) {
return 'UPDATE voorraad INNER JOIN import_soldenperc...';
}
)
然后在你的 foreach 中用 $Query($trigger_filter_store);
调用函数。