【问题标题】:check if value exist in database array not working检查数据库数组中是否存在值不起作用
【发布时间】:2015-01-11 12:37:00
【问题描述】:

需要检查数组中是否存在该值,该数组是从数据库表创建的,它只是不适合我不断收到错误消息“in_array() 期望参数 2 是数组,给定字符串” 有人可以帮忙吗?

PHP 代码

<?php 
    $lang='en';
    $query_rsLanguages = "SELECT * FROM languages";
    $rsLanguages = mysql_query($query_rsLanguages);
    $languages_array = array();
    while($row = mysql_fetch_array($rsLanguages)){ 
      $languages_array[] = "\"".$row['language_sign']."\""; 
    }
    $languages_string = implode(",", $languages_array);
    if (in_array($lang, $languages_string)) {
        echo 'found' ;
        }
?>

【问题讨论】:

    标签: php mysql arrays if-statement


    【解决方案1】:

    您将$languages_array 内爆到一个字符串并将其传递给in_array,这是不正确且不必要的。正如错误所说,您需要传递一个 array 进行搜索。您只需从结果中构建语言数组并检查:

    <?php 
        $lang='en';
        $query_rsLanguages = "SELECT * FROM languages";
        $rsLanguages = mysql_query($query_rsLanguages);
        $languages_array = array();
        while($row = mysql_fetch_array($rsLanguages)){ 
          $languages_array[] = $row['language_sign'];
        }
    
        if (in_array($lang, $languages_array)) {
            echo 'found' ;
        }
    ?>
    

    【讨论】:

      【解决方案2】:

      这将检查字符串$lang 是否存在于您的$languages_array

      if (in_array($lang, $languages_array)) {
              echo 'found' ;
      }
      

      【讨论】:

        【解决方案3】:

        上面的错误是说 in_array 的第二个参数应该是一个数组,通过使用 implode 你正在使它成为一个字符串,使用下面的代码。

        <?php 
            $lang='en';
            $query_rsLanguages = "SELECT * FROM languages";
            $rsLanguages = mysql_query($query_rsLanguages);
            $languages_array = array();
            while($row = mysql_fetch_array($rsLanguages)){ 
              $languages_array[] = $row['language_sign'];
            }
        
            if (in_array($lang, $languages_array)) {
                echo 'found' ;
            }
        ?>
        

        希望对你有帮助

        【讨论】:

          猜你喜欢
          • 2012-04-15
          • 1970-01-01
          • 1970-01-01
          • 2016-10-20
          • 1970-01-01
          • 2019-06-07
          • 1970-01-01
          • 1970-01-01
          • 2011-05-16
          相关资源
          最近更新 更多