PHP Parse вернул объект - PullRequest
       37

PHP Parse вернул объект

0 голосов
/ 30 сентября 2019

Поскольку я пытаюсь прочитать файл mt940 из ING с помощью https://github.com/fruitl00p/php-mt940, я попробовал его тестовый файл. это возвращается так

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». Как мне удалить это из результатов записей и как я могу получить «банк», «счет», стартовую цену, конечную цену и валюту из возвращенного результата.

вот программа php, которую я пробовал.

require 'vendor/autoload.php';

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

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

var_dump($trans);

1 Ответ

1 голос
/ 30 сентября 2019

У вас есть эти пространства имен, потому что вы выгружаете varialbe, чтобы получить необходимое вам значение, просто используйте функции получения, предоставляемые классом Statement:

$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();
...