用一些数字PHP对一些ID字符串进行排序

时间:2013-02-08 07:58:08

标签: php

我有一个var_dump($productId)

string(1) "9"

string(2) "11"

string(2) "12"

string(2) "17"

string(2) "18"

现在,我想要例如函数_x不执行id 18和17,所以我想做这样的事情:

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

但似乎没有工作,我的想法是,如果我想在18岁时做出来:

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

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

提前致谢!

2 个答案:

答案 0 :(得分: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.
}

答案 1 :(得分: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
    }
}