我遇到了一个客户端代码片段。我想说,如果不是,那么就这样做。所以数组中的所有项都不应该工作。我不知道为什么它还会!
$StuddedListArray = array("563_black","564_white","565_black","578_turq","570_black","581_blush","584_white","578_black","570_grey","585_blush","567_black","564_white","580_blush","591_black","578_blush","589_black");
if(!$promocode="gcnow20" && in_array($newitemID, $StuddedListArray)){
// do nothing
}else {
$promocode_validate_check = $_POST['promocode'];
}
!$promocode="gcnow20"
总是假的。如果要检查值是否相等,则必须使用!$promocode=="gcnow20"
也是@Vilx评论的-
!$promocode=="gcnow20"
可以写成:
$promocode!="gcnow20"
也许是因为你想写
$promocode=="gcnow20"
不是$promocode="gcnow20"
!$promocode="gcnow20"
将始终返回false。当你给变量
使用if (!($promocode="gcnow20" && in_array($newitemID, $StuddedListArray))){
你的意思是说if (!($promocode == 'gcnow20' && in_array(...
?promocode
设置在哪里?你也可以写if ($promocode != 'gcnow20' ...
如果我理解得好,你想检查$promocode是否不同于比"gnow20"和$itemID是不是在数组?然后:
$StuddedListArray = array("563_black","564_white","565_black","578_turq","570_black","581_blush","584_white","578_black","570_grey","585_blush","567_black","564_white","580_blush","591_black","578_blush","589_black");
if($promocode !="gcnow20" && !in_array($newitemID, $StuddedListArray)){
// do nothing
}else {
$promocode_validate_check = $_POST['promocode'];
}