如何使用var_export返回数组

时间:2013-08-02 13:22:17

标签: php

我有这个:

$custom = var_export('return ' . self::$push_action['custom']($data), true);

这将调用此方法:

protected static function match($data) {
    $match = service::$db->select('matches', 'match_id', array('user_id' => $data['user_id'], 'opponent_id' => $data['opponent_id']), 'ORDER BY match_id DESC LIMIT 1');
    return array('match_id' => $match[0]['match_id']);
}

但是我收到了这个错误:

Notice:  Array to string conversion in....

如何从match($data)方法正确返回数组?

我需要用返回的数组填充变量$custom

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

基本上你不能使用var_export来返回一个数组(var_export DOC

  

输出或返回变量的可解析字符串表示

答案 1 :(得分:0)

根据描述:

RecordStore

如果要将数据导出到文件,稍后将其读取为$ custom而不是:

写入文件“foo.php”:

$custom = self::$push_action['custom']($data);

从文件“foo.php”读取到$ custom:

$fileContent = 'return ' . var_export(self::$push_action['custom']($data), true) . ';';
file_put_contents('foo.php', $fileContent);