summaryrefslogtreecommitdiffstats
path: root/src/Components/ArrayObj.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Components/ArrayObj.php')
-rw-r--r--src/Components/ArrayObj.php22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/Components/ArrayObj.php b/src/Components/ArrayObj.php
index 8dde518..ef0f79f 100644
--- a/src/Components/ArrayObj.php
+++ b/src/Components/ArrayObj.php
@@ -133,20 +133,28 @@ class ArrayObj extends Component
}
/**
- * @param ArrayObj $component The component to be built.
+ * @param ArrayObj|ArrayObj[] $component The component to be built.
*
* @return string
*/
public static function build($component)
{
- $values = array();
- if (!empty($component->raw)) {
- $values = $component->raw;
+ if (is_array($component)) {
+ $values = array();
+ foreach ($component as $c) {
+ $values[] = static::build($c);
+ }
+ return implode(', ', $values);
} else {
- foreach ($component->values as $value) {
- $values[] = $value;
+ $values = array();
+ if (!empty($component->raw)) {
+ $values = $component->raw;
+ } else {
+ foreach ($component->values as $value) {
+ $values[] = $value;
+ }
}
+ return '(' . implode(', ', $values) . ')';
}
- return '(' . implode(', ', $values) . ')';
}
}