diff --git a/src/Util/JsonLD.php b/src/Util/JsonLD.php index b4ff53fdb0..878cd71e6a 100644 --- a/src/Util/JsonLD.php +++ b/src/Util/JsonLD.php @@ -173,7 +173,7 @@ class JsonLD * * @return array fetched element */ - public static function fetchElementArray($array, $element, $key = '@id') + public static function fetchElementArray($array, $element, $key = null) { if (empty($array)) { return null; @@ -191,12 +191,10 @@ class JsonLD $elements = []; foreach ($array[$element] as $entry) { - if (!is_array($entry)) { + if (!is_array($entry) || (is_null($key) && is_array($entry))) { $elements[] = $entry; - } elseif (isset($entry[$key])) { + } elseif (!is_null($key) && isset($entry[$key])) { $elements[] = $entry[$key]; - } elseif (!empty($entry) || !is_array($entry)) { - $elements[] = $entry; } }