-4

我最近更新了我工作的服务器。我有一个错误:

“警告:array_flip() 期望参数 1 为数组,在...中给出空值”

有人知道如何解决吗?

这是PHP代码的一部分:

function redirectWrongDep($url) { 
    $deps = @getDepsByIdUrl($url); 
    $depsFlip = array_flip($deps); 
    if ($_GET['dep'] && !in_array($_GET['dep'], $depsFlip)) { header('Location:'.URL); 
        exit(); 
    } 
} 
function getDepsByIdUrl($url) { 
    $sql = "SELECT ws_flash_departement.nom,ws_flash_departement.id_departement FROM ws_flash_departement WHERE ws_flash_departement.no_resultats != 0 AND ws_flash_departement.id_departement IN (SELECT url_departement.id_departement FROM url_departement WHERE url_departement.id_url=" . $url . ") ORDER BY nom ASC"; 
    $result = mysql_query($sql); 
    while ($row = mysql_fetch_assoc($result)) { 
        $deps[$row["id_departement"]]=utf8_encode($row["nom"]); 
    } 
    mysql_free_result($result); 
    return $deps; 
 } 
4

3 回答 3

1

很可能您已更新到设置了魔术引号的服务器

这个 id 是因为某些东西正在返回值false或不返回true1调试代码。你也没有提供任何东西,array_flip()你必须提供array

例子:

$arr = array("a" => 3, "b" => 1, "c" => 2);
$arr = array_flip($arr);
print_r($arr);
于 2013-03-10T00:57:42.057 回答
0

检查本手册:

http://php.net/manual/en/function.array-flip.php

例如。

$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
于 2012-06-06T08:58:17.503 回答
0

array_flip 将数组作为第一个参数,而你什么也不给...

PS:也许用几行代码,我可以给你一个更准确的答案

于 2012-06-06T08:56:02.173 回答