所以这个错误对我来说似乎很奇怪。我有一个带有两个必需参数的方法,但是当脚本进入第一个 for 循环时,两个参数之一似乎不再存在。
这是一段代码:
public function getOptionsForParameters($params, $product){
// here the value of $product is 105
for($i = 0; $i<count($params); $i++){
// but here, $product no longer exists, so in the SQL query, it is empty
$sql = "SELECT *
FROM [table_name]
WHERE prm_id = ".(int)$params[$i]['prm_id']."
AND prd_id = ".(int)$product."
AND opt_status = 'active'";
}
// ...
}
我真的不明白为什么,因为在方法的开头和 for 循环之间绝对没有脚本。
另外,如果我在所有 for 循环之后打印变量,就在方法的“返回”之前,它的值是 105 ......在我看来,PHP 以某种方式为我的变量提供了一个范围,这很奇怪......
我已经为此苦苦挣扎了太久,在 Google 或 PHP.net 上我没有找到任何与此相关的内容
有人知道为什么我的脚本会这样做吗?
顺便说一句:我的 PHP 版本是 5.3.10
非常感谢