0

たとえば、配列を個別の変数として関数に渡す方法を知る必要があります。

function myfunction($var, $othervar) {
}

$myarray = array('key'=>'val', 'data'=>'pair');

ここで問題が発生していますが、次のことはうまくいかないようです:

$return = myfunction(extract($myarray));

私が正しく理解していれば、基本的には

$return = myfunction($key, $data);

$key='val' および $data='pair'

誰か私にこれを説明してください。

4

3 に答える 3

0

あなたの質問を正しく理解している場合は、これを試してください

$return = myfunction($myarray["key"],$myarray["data"]);

ここでは、単に連想配列を引数として渡しています。

于 2013-07-31T03:58:26.320 に答える
0
    public function get($key=null, $function='', array $vars=array()) {
        if ($key==null || !array_key_exists($key, $this->_obj)) {
            return null;
        }
        if (!empty($function)) {
            return call_user_func_array(array($this->_obj[$key], $function), $vars);
        }
        return $this->_obj[$key];
    }

$registry = Registry_Object::Singleton();
//...later on
$registry = $GLOBALS['registry'];
$registry->set('Content', new Content($_SERVER['REQUEST_URI']));
$id = $registry->get('Content', 'GetIdFunc');
$registry->set('DB', 'Database');
$query = $registry->get('DB', 'Read', array("SELECT TITLE, CONTENT FROM APP_CONTENT WHERE ID=$id"));
print '<h1>'.$query[0]['TITLE'].'</h1>';
print Template_Helper::TPL_Paragraphs($query[0]['CONTENT']);

皆さんありがとう

于 2013-07-31T04:30:25.130 に答える
0
    public function get($key=null, $function='', array $vars=array()) {
        if ($key==null || !array_key_exists($key, $this->_obj)) {
            return null;
        }

var_dump($vars);

        if (!empty($function)) {
            return $this->_obj[$key]->$function(array_walk($vars));
//          return call_user_func_array(array(get_class($this->_obj[$key]), $function), $vars);
//          return $this->_obj[$key]->$function(extract($vars));
        }
        return $this->_obj[$key];
    }
于 2013-07-31T04:06:28.107 に答える