【发布时间】:2023-03-17 23:39:01
【问题描述】:
我使用 Php 不到 2 个月(这也是我的第一个问题,如果我遗漏了什么,请告诉我),直到今天它一直很顺利。我正在为 Wordpress 开发一个表单插件,目前正在实现代码以使保存在数据库中的表单与包含数据库中表单 ID 的简码连接。第一种形式的 ID 为 1,简码为 IForm_1。很简单。
当循环遍历所有表单并且无法将循环中的 $ID 值传递给 IForm 函数时,会出现问题。
$ID= 0;
$FormID= 0;
settype($ID, "integer");
for ($x = 1; $x <= 300; $x++) {
global $ID;
$ID++;
$ShortCode = "IForm_";
$ShortCode .= $ID;
$FormID = $ID;
add_shortcode( $ShortCode, 'IForm_Array' );
$ShortCode ='';
}
这是一个非常简单的循环,当 $ShortCode 与网站上使用的简码对齐时,它可以正常工作,并且 IForm 会得到应有的使用。
function IForm(){
global $ID;
//testing_decode();
// Gets the value of baseTest from getDB and puts it in test.
$DBForm = getDB($ID);
$Form = $DBForm;
$Form .= "Works but not really";
return $Form;
}
这里是函数。
问题是 $ID 在循环结束的函数中始终为 300。当循环中的 $ID 与站点/帖子上的简码 ID 对齐时执行 IForm,这告诉我 $ID 值对于循环的某些部分确实是正确的。当 ID 确实正确时,我想将其传递给 IForm 函数以使用它在数据库(MySQL)中找到正确的表单。
现在我的问题是如何将循环第 3 行的 $ID 值传递(如果可以的话)到函数的第 5 行。或者是在循环排列时强制中断循环并使用最后一个 $ID 值传递给 IForm。
【问题讨论】:
标签: php wordpress loops variables