检查数组中是否存在一个值

时间:2011-11-23 12:38:51

标签: php

  

可能重复:
  How to check if an array value exists

我在PHP中遇到了问题。所以,我的问题是我想看看会话中是否存在特定值(我在哪个会话中存储数组)。如果这个值存在,则返回一个布尔值($ check = TRUE)。但是当我尝试用die停止脚本时(var_dump($ check));为了检查价值,我总是得到这个通知:

  

未定义的变量检查...

这是我的代码:

 $individualitem[] = $_SESSION["books"] ;

          foreach ($individualitem as $key => $idividualvalue){
            if($individualitem == $card){
                $check = TRUE;
            }     
         }  
     // die (var_dump($check));

3 个答案:

答案 0 :(得分:2)

可能是因为if条件总是假的。在实际的foreach循环之前定义你的$ check

$check = false;  
foreach ($individualitem as $key => $idividualvalue){
     if($individualitem == $card){
         $check = TRUE;
     }     
}  

但为了您的目的,请尝试

$check = false;
if (in_array($card, $individualitem)) {
    $check = true;
}

答案 1 :(得分:0)

您的if条件显然从未达到过,请尝试将$check默认为false。

$individualitem[] = $_SESSION["books"] ;
$check = false;
foreach ($individualitem as $key => $idividualvalue)
{
    if($individualitem == $card)
    {
        $check = true;
    }     
}  
     // die (var_dump($check));

答案 2 :(得分:0)

你应该尝试使用php内置函数in_array