如何解决“错误的数据类型”问题?错误在我的PHP脚本


How do I solve a "Wrong datatype" error in my PHP script?

完全错误:

in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument in /var/www/vhosts/example.com/httpdocs/sites/example.com/themes/example/page.tpl.php on line 22.

相关代码:

if (($_GET['nid']) && ($_GET['uid'] != '5')) :
    $arr = array("7916","7917","7996","7918","7990","7919","7921","7924","7925","7923","7922","8011");
    reset($arr);
    $nid = $_GET['nid'];
    // settype($nid, "integer"); 
elseif(($_GET['uid'] == '5') && ($is_front)):
    include("include_ad_front.php");    
endif;
if((in_array($nid, $arr)) && ($is_front) && (!$_GET['uid'])) {
    //code continues below...

第3行和第5行只是我试图解决这个问题。第10行实际上是这个错误中的第22行,也是抛出错误的行。

我想我明白你的问题了。

在完成第一组if..else检查后,您将调用in_array内容。现在if...else第一个部分已经创建了数组,但不是第二个。

尝试将数组移动到你的第一个if...else之前,而不是在它里面。