PHP创建一个数组,如果不是,然后做一些事情


PHP Make an Array IF NOT then do something

我遇到了一个客户端代码片段。我想说,如果不是,那么就这样做。所以数组中的所有项都不应该工作。我不知道为什么它还会!

$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'];
}