-1

我有这个var_dump($productId)

string(1) "9"

string(2) "11"

string(2) "12"

string(2) "17"

string(2) "18"

现在,我希望例如 function_x 不为 id 18 和 17 执行,所以我想做这样的事情:

$test=array('18','17');
if(!in_array($test,array($productId))){}

但似乎不起作用,我的想法是如果我只想赚 18 岁:

$test=18;
if($test != $productId){}

这是可行的,但是如何为多个号码/ ID 执行此操作?

提前致谢!

4

2 回答 2

1

我认为其他答案是假设您$productId是一个数组。我猜你是在 foreach 或其他东西中运行 var_dump() 。

if(17 != $productId && 18 != $productId)
{
    // If $productId is not 17 and is not 18.
}

// Alternatively, if you want to add more IDs to ignore, you could use in_array.
$ignore = array(17,18,19,20);

if(false == in_array($productId,$ignore))
{
    // If $productId is not in the ignore array.
}
于 2013-02-08T08:39:07.827 回答
0

如果你$productId一次得到一个字符串:

if(!in_array($productId,$test)) {
    // execute function
}

如果$productId是一个数组:

$test=array('18','17');
foreach ($productId as $id) {
    if(!in_array($id,$test)) {
        // execute function
    }
}
于 2013-02-08T08:11:33.293 回答