首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP解析返回的对象

PHP解析返回的对象
EN

Stack Overflow用户
提问于 2019-09-30 14:01:38
回答 1查看 88关注 0票数 0

当我试图在https://github.com/fruitl00p/php-mt940的帮助下从荷兰国际集团读取mt940文件时,我尝试了他的测试文件。它会像这样返回。

代码语言:javascript
复制
array(1) { [0]=> object(Kingsquare\Banking\Statement)#4 (9) { 
["bank":"Kingsquare\Banking\Statement":private]=> string(3) "ING" 
["account":"Kingsquare\Banking\Statement":private]=> string(9) "111111111" 
["transactions":"Kingsquare\Banking\Statement":private]=> array(3) { 
    [0]=> object(Kingsquare\Banking\Transaction)#5 (9) { 
        ["account":"Kingsquare\Banking\Transaction":private]=> string(9) "111111111" 
        ["accountName":"Kingsquare\Banking\Transaction":private]=> string(34) "V. DE JONG KERKSTRAAT 1154 1234 BW" 
        ["price":"Kingsquare\Banking\Transaction":private]=> float(0.56) 
        ["debitcredit":"Kingsquare\Banking\Transaction":private]=> string(1) "C" 
        ["cancellation":"Kingsquare\Banking\Transaction":private]=> bool(false) 
        ["description":"Kingsquare\Banking\Transaction":private]=> string(128) "0111111111 V. DE JONG KERKSTRAAT 1154 1234 BWENSCHEDE BET.KENM. 1004510036716378 3305330802AFLOSSINGSTERMIJN 188616 / 1E TERMIJN" 
        ["valueTimestamp":"Kingsquare\Banking\Transaction":private]=> int(1279737000) 
        ["entryTimestamp":"Kingsquare\Banking\Transaction":private]=> int(1279737000) 
        ["transactionCode":"Kingsquare\Banking\Transaction":private]=> string(3) "078" } 
    [1]=> object(Kingsquare\Banking\Transaction)#6 (9) { 
        ["account":"Kingsquare\Banking\Transaction":private]=> string(9) "111111111" 
        ["accountName":"Kingsquare\Banking\Transaction":private]=> string(25) "CUSTOMER NL SPOEDBETALING" 
        ["price":"Kingsquare\Banking\Transaction":private]=> float(10.45) 
        ["debitcredit":"Kingsquare\Banking\Transaction":private]=> string(1) "C" [
        "cancellation":"Kingsquare\Banking\Transaction":private]=> bool(false) 
        ["description":"Kingsquare\Banking\Transaction":private]=> string(120) "0111111111 CUSTOMER NL SPOEDBETALINGGE2009120212345RE091202­3737 /RFB/NL­FMI­021209 NL­FMI­021209VOORSCHOTCOMMISSIE" ["valueTimestamp":"Kingsquare\Banking\Transaction":private]=> int(1279737000) 
        ["entryTimestamp":"Kingsquare\Banking\Transaction":private]=> int(1279737000) 
        ["transactionCode":"Kingsquare\Banking\Transaction":private]=> string(3) "077" } 
} 
["startPrice":"Kingsquare\Banking\Statement":private]=> float(44.89) 
["endPrice":"Kingsquare\Banking\Statement":private]=> float(-9945.09) 
["startTimestamp":"Kingsquare\Banking\Statement":private]=> int(1279737000) 
["endTimestamp":"Kingsquare\Banking\Statement":private]=> int(1279823400) 
["number":"Kingsquare\Banking\Statement":private]=> string(3) "100" 
["currency":"Kingsquare\Banking\Statement":private]=> string(3) "EUR" } } 

在这里,它返回“Kingsquare\Banking\Statement”。如何从条目结果中删除它,以及如何从返回的结果中获取'bank‘,'account',startprice,endprice和currency。

这是我试过的php程序。

代码语言:javascript
复制
require 'vendor/autoload.php';

$parser = new \Kingsquare\Parser\Banking\Mt940();

$tmpFile = __DIR__ . '/test.mta';
$trans = $parser->parse(file_get_contents($tmpFile));

var_dump($trans);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-30 14:12:47

您拥有这些名称空间是因为您要将变量转储出去,要获得所需的值,只需使用Statement类提供的getter函数:

代码语言:javascript
复制
$statement = $parser->parse(file_get_contents($tmpFile));

echo $statement[0]->getBank();
echo $statement[0]->getAccount();
echo $statement[0]->getStartPrice();
echo $statement[0]->getEndPrice();
echo $statement[0]->getCurrency();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58162222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档