【问题标题】:check if one value exists in an array [duplicate]检查数组中是否存在一个值[重复]
【发布时间】:2011-11-23 12:38:50
【问题描述】:

可能重复:
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));

【问题讨论】:

标签: php


【解决方案1】:

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

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

但是为了你的目的,试试

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

【讨论】:

    【解决方案2】:

    你应该试试php的内置函数in_array

    【讨论】:

    • 它并没有告诉他为什么要发出通知
    • 但这确实是完成任务的更好方法。
    【解决方案3】:

    如果您的条件显然从未遇到过,请尝试将 $check 默认设置为 false。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-08
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2016-08-28
      • 1970-01-01
      相关资源
      最近更新 更多