---
name: "append"
type: command
status: ok
groups: ["Arrays"]
arma3_since: "1.40"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/append
revid: 377193
updated: 2026-01-01T10:54:49Z
---

# append

*Command · Arrays · Arma 3 v1.40*

## Description

Appends array2 to the back of array1 modifying array1. See [insert](../commands/insert.md) for an "appendUnique" equivalent.

> [!NOTE]
> [append](../commands/append.md) does not return array, it modifies the existing array. If you need to return a copy, use "[+](../commands/~2B.md)": 
>
> ```sqf
> array3 = array1 + array2;
> ```

## Syntax

```sqf
array1 append array2
```

**Parameters:**

- `array1`: [Array](../topics/Array.md) of [Anything](../topics/Anything.md)
- `array2`: [Array](../topics/Array.md) of [Anything](../topics/Anything.md)

**Returns:** [Nothing](../topics/Nothing.md)

## Examples

### Example 1

```sqf
_arr = [1,2,3];
_arr append [4,5,6];
hint str _arr; // [1,2,3,4,5,6]
```

## See also

[set](../commands/set.md) · [pushBack](../commands/pushBack.md) · [pushBackUnique](../commands/pushBackUnique.md) · [insert](../commands/insert.md) · [+](../commands/~2B.md) · [apply](../commands/apply.md) · [select](../commands/select.md) · [resize](../commands/resize.md) · [reverse](../commands/reverse.md) · [count](../commands/count.md) · [deleteAt](../commands/deleteAt.md) · [deleteRange](../commands/deleteRange.md)

## Community notes

**Heeeere's Johnny!** — 2015-03-09

```sqf
_array1 append _array2;
```

is roughly 1.2× faster (depending on array size) than

```sqf
_array1 = _array1 + _array2
```

(Averaged over 10.000 iterations with two identical arrays containing the numbers 0 through 9)

The larger the arrays to append, the faster [append](../commands/append.md) is as it does not create a new array, which happens with array addition.

---

**Killzone_Kid** — 2015-05-21

Array "unshift" implementation using [append](../commands/append.md), a faster alternative to [BIS_fnc_arrayUnShift](../functions/BIS_fnc_arrayUnShift.md):

```sqf
KK_fnc_unshift = {
    private ["_arr", "_tmp"];
    _arr = _this select 0;
    _tmp = [_this select 1];
    _tmp append _arr;
    _arr resize 0;
    _arr append _tmp;
    _arr
};

// Example
arr = [1,2,3];
[arr, 0] call KK_fnc_unshift; // both arr and return of function are [0,1,2,3]
```

---

**Killzone_Kid** — 2015-05-21

Array "insert" implementation using [append](../commands/append.md), much faster alternative to [BIS_fnc_arrayInsert](../functions/BIS_fnc_arrayInsert.md):

```sqf
KK_fnc_insert = {
    private ["_arr", "_i", "_res"];
    _arr = _this select 0;
    _i = _this select 2;
    _res = [];
    _res append (_arr select [0, _i]);
    _res append (_this select 1);
    _res append (_arr select [_i, count _arr - _i]);
    _res;
};

// Example
arr = [1,2,3,4];
[arr, ["a","b"], 2] call KK_fnc_insert; // [1,2,"a","b",3,4]
```

---

**Killzone_Kid** — 2015-05-21

A faster alternative to [BIS_fnc_arrayPushStack](../functions/BIS_fnc_arrayPushStack.md) using [append](../commands/append.md):

```sqf
KK_fnc_pushStack = {
    _this select 0 append (_this select 1);
    _this select 0
};

// Example
arr = [1,2,3];
[arr, [4,5,6]] call KK_fnc_pushStack; // both arr and function return are [1,2,3,4,5,6]
```

<sub>Source: [BI Community Wiki — append](https://community.bistudio.com/wiki/append) (revision 377193).</sub>
