我有问题。我应该在php中更改foreach循环中变量的值,但该值始终保持预定义值。这是代码:
$returnValue = "";
foreach($vinArray as $vinValue){
$sql_vin_check = "SELECT * FROM users WHERE vin LIKE '%:vin%'";
$stmtvincheck = $pdo->prepare($sql_vin_check);
$stmtvincheck->bindParam(':vin', $vinValue);
$stmtvincheck->execute();
$vinCheck = $stmtvincheck->rowCount();
$stmtvincheck->closeCursor();
echo $vinValue;
if($vinCheck != 0){
$returnValue = $vinValue; break;
}
}
return $returnValue;
$returnValue
保留""
值。我尝试回显$vinValue
变量,当循环中断时它不为空。
我做错了什么?
答案 0 :(得分:0)
试试这个:
$returnValue = "";
foreach($vinArray as $k=>$vinValue){
$sql_vin_check = "SELECT count(*) c FROM users WHERE vin LIKE '%:vin%'";
$stmtvincheck = $pdo->prepare($sql_vin_check);
$stmtvincheck->bindParam(':vin', $vinValue);
$stmtvincheck->execute();
$vinCheck = $stmtvincheck->fetch();
$stmtvincheck->closeCursor();
if($vinCheck['c'] > 0){
$returnValue = $vinValue;
break;
}
}
return $returnValue;
如果没有其他预期的话(我的建议与你的问题无关),我建议你用那里的直接返回来替换returnvalue / break。