1

我有一个检查变量是否存在的函数。

function variable( &$var, $default = NULL )
{
    if( (!isset($var) && !is_array($var)) || empty($var) )
    {
        return FALSE;
    }
    elseif( is_array($var) && count($var) <= 0 )
    {
        return FALSE;       
    }
    else
    {
        return $var;
    }
}

我的问题是,当我传递像 $array['element'] 这样的数组元素引用时,这个函数会创建一个数组,即使它以前不存在,也会创建数组 $array 和索引“元素”。

该函数应该做的是有类似 echo variable($var); 的东西。即使未定义 $var 也不会产生错误。

有没有办法再次删除它,或者最好不要让函数创建数组?

谢谢。

4

2 回答 2

2

见这里:http ://ch.php.net/manual/de/function.array-key-exists.php

array_key_exists 是“关键”,没有双关语:-)

像这样:

if (array_key_exists('element', $array)({
    // do the fan dango
}
于 2012-04-28T08:36:45.370 回答
-4

要删除,可以使用 unset($array['element']); 或未设置($array);取决于你的目标。为了确保数组变成字符串,只需使用 implode("",$array);

于 2012-04-28T07:17:12.130 回答