in_array()期望参数2是数组,在orderby检查函数中给出的字符串

时间:2015-11-24 11:54:21

标签: php

我有这个函数用于检查sortby(DESC或ASC):

function is_check_sortby($sortby,$default){

    $array = array( 'DESC', 'ASC' ); //line 92

if (in_array($array,$sortby)) {
     $sort = $sortby;
      }
       else
        { 
            $sort = $default;
         }  
      return $sort;   
}   

查看:

$sortby = is_check_sortby($_GET['order'],'DESC');

但是在行动中我看到了这个错误:

 <b>Warning</b>:  in_array() expects parameter 2 to be array, string given in <b>/Applications/XAMPP/xamppfiles/htdocs/cms/class/functions.php</b> on line <b>92</b><br />

如何解决这个问题?!

3 个答案:

答案 0 :(得分:1)

反转in_array()的参数顺序。它应该是:

if (in_array($sortby,$array)) {
}

答案 1 :(得分:1)

in_array应该是

in_array($sortby,$array)

答案 2 :(得分:1)

使用此功能。

检查http://php.net/manual/en/function.in-array.php

中的in_array用法
 function is_check_sortby($sortby,$default){

        $array = array( 'DESC', 'ASC' ); //line 92

    if (in_array($sortby,$array)) {
         $sort = $sortby;
          }
           else
            { 
                $sort = $default;
             }  
          return $sort;   
    }