DNEnvironment::array_to_viewabledata PHP Метод

array_to_viewabledata() публичный статический Метод

Helper function to convert a multi-dimensional array (associative or indexed) to an {@link ArrayList} or {@link ArrayData} object structure, so that values can be used in templates.
public static array_to_viewabledata ( array $array ) : object
$array array The (single- or multi-dimensional) array to convert
Результат object Either an {@link ArrayList} or {@link ArrayData} object, or the original item ($array) if $array isn't an array.
    public static function array_to_viewabledata($array)
    {
        // Don't transform non-arrays
        if (!is_array($array)) {
            return $array;
        }
        // Figure out whether this is indexed or associative
        $keys = array_keys($array);
        $assoc = $keys != array_keys($keys);
        if ($assoc) {
            // Treat as viewable data
            $data = new ArrayData([]);
            foreach ($array as $key => $value) {
                $data->setField($key, self::array_to_viewabledata($value));
            }
            return $data;
        } else {
            // Treat this as basic non-associative list
            $list = new ArrayList();
            foreach ($array as $value) {
                $list->push(self::array_to_viewabledata($value));
            }
            return $list;
        }
    }