ですから、このバグは私には本当に奇妙に思えます。2つの必須引数を持つメソッドがありますが、スクリプトが最初のforループ内に入ると、2つの引数の1つが存在しなくなったようです。
コードのチャンクは次のとおりです。
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ループの後、メソッドの「return」の直前で変数を出力すると、その値は105になります... PHPがどういうわけか私の変数にスコープを与えるように見えますが、これは奇妙です。
私はすでにこれに長い間苦労してきましたが、GoogleやPHP.netでこれに関連するものは何も見つかりませんでした
誰かが私のスクリプトがなぜそれをするのか考えていますか?
ところで:私のPHPバージョンは5.3.10です
どうもありがとうございます