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 のような配列要素参照を渡すと、この関数が配列を作成し、インデックス 'element' が以前に存在しなくても作成されることです。

関数がすべきことは、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']); を使用できます。または unset($array); あなたの目標に応じて。配列が文字列になるようにするには、implode("",$array); を使用します。

于 2012-04-28T07:17:12.130 に答える