PHP引用数组元素(& $ array ['element'])创建元素

时间:2012-04-28 07:11:19

标签: php function pass-by-reference

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

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时,此函数会创建一个数组,并且即使之前不存在索引'element'也会创建。

该函数应该做的是使用echo变量($ var);即使未定义$ var,也不会产生错误。

有没有办法再次删除它,甚至更好的是不让函数创建数组?

感谢。

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:-4)

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