From 974ae3492f2537195f985b7cb78af292fd8950b0 Mon Sep 17 00:00:00 2001 From: Sergey Chizhik Date: Tue, 28 Jan 2020 18:10:04 +0200 Subject: [PATCH 1/2] Add \XBase\Record::getData --- src/XBase/Record.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/XBase/Record.php b/src/XBase/Record.php index d1a22e1..cd385cc 100755 --- a/src/XBase/Record.php +++ b/src/XBase/Record.php @@ -650,4 +650,18 @@ public function serializeRawData() { return ($this->deleted ? '*' : ' ') . implode('', $this->choppedData); } + + /** + * @return array + */ + public function getData() + { + $fields = array(); + + foreach ($this->choppedData as $columnName => $columnValue) { + $fields[$columnName] = $this->forceGetString($columnName); + } + + return $fields; + } } From d52c8973e63783e3ef4858158332db9f8bd05223 Mon Sep 17 00:00:00 2001 From: Sergey Chizhik Date: Wed, 29 Jan 2020 17:02:53 +0200 Subject: [PATCH 2/2] Add \XBase\Record::getChoppedData, refactor \XBase\Record::getData --- src/XBase/Record.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/XBase/Record.php b/src/XBase/Record.php index cd385cc..545e2f7 100755 --- a/src/XBase/Record.php +++ b/src/XBase/Record.php @@ -652,12 +652,30 @@ public function serializeRawData() } /** + * Returns typed column values according to their types + * * @return array */ public function getData() { $fields = array(); + foreach ($this->getColumns() as $column) { + $fields[$column->name] = $this->getObject($column); + } + + return $fields; + } + + /** + * Returns raw values trimmed and converted according to encoding + * + * @return array|string[] + */ + public function getChoppedData() + { + $fields = array(); + foreach ($this->choppedData as $columnName => $columnValue) { $fields[$columnName] = $this->forceGetString($columnName); }