# Types

You can use different types of variables in plentymarkets. The following primitive types are currently supported in plentymarkets.

## Boolean

This is the most basic type. A Boolean expression is a logical value that can be either TRUE or FALSE.

A Boolean value is specified using the keywords TRUE and FALSE. It is not case-sensitive.

``````{% $_foo = true; %} `````` A Boolean is returned by an operator and passed to a control structure. ``````{% if$_a == 5 %}
$_a is 5 {% endif %} `````` ## Integer An integer is a value within the range Z = {…​, -2, -1, 0, 1, 2, …​}. Integers can be signed or unsigned. This is optional for positive numbers, negative numbers must be signed. ``````{%$_a = 1234; %}

{% $_b = +1234; %} {%$_c = -123; %}
``````

## Float / double

Floats always require a decimal point (.). Thousands separators can not be used.

``{% $_a = 1.234; %}`` ## String A string is defined as a string of characters. Strings must be enclosed in single (') or double (") quotes. These quotes can not be used within the actual string. ``````{%$_a = "this is a string"; %}

{% if $_a == "this is a string" %}$_a contains the value: this is a string
{% endif %}``````

## Array

An array is a list of values assigned to a key (position 0-n). The CMS syntax supports lists of one dimension (value1, value2, value3, …​, value100). A list can consist of different types. A maximum of 100 elements is permitted per array.

``{% $_a = [127, 9.49, "plenty"]; %}`` ## Associative array An associative array is a list of values assigned to an individual key. The CMS syntax supports lists of multiple dimensions. The key always has to be a string. The individual values can be different types.  Tip Technical limitation Theoretically, there is no limit to the number of nesting levels and elements. However, unusually large constructions can cause errors to occur when displaying or translating data. As such, carefully test your associative arrays and make changes if you notice any unintended behavior. ``````{%$_a = {"plentymarkets":"Welcome to plentymarkets", "name":"John Doe"} %}
$_a["plentymarkets"]$_a["name"].

# Welcome to plentymarkets, John Doe.``````

## NULL

The value NULL represents a variable without a value. NULL is the only possible value of the type NULL.

``{% $_a = NULL; %}`` ## Object An object is a container for other data. ``````{%$_customerAddress = GetCheckoutCustomerInvoiceAddress() %}
$_customerAddress->Company<br/>$_customerAddress->FirstName $_customerAddress->LastName<br/>$_customerAddress->Street $_customerAddress->HouseNo<br/>$_customerAddress->ZIP $_customerAddress->City<br/>$_customerAddress->Country``````