

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# JSON.ARRPOP
<a name="json-arrpop"></a>

Rimuove e restituisce l'elemento all'indice dell'array. Il prelievo di un array vuoto restituisce null.

Sintassi

```
JSON.ARRPOP <key> [path [index]]
```
+ key (obbligatorio) — chiave del tipo di documento JSON
+ path (opzionale) — un percorso JSON. Il valore predefinito è root se non viene fornito
+ index (opzionale) — posizione nell'array da cui iniziare il popping.
  + Viene ripristinato il valore predefinito -1 se non è fornito, ossia l'ultimo elemento.
  + Un valore negativo indica la posizione dall'ultimo elemento.
  + Gli indici fuori limite vengono arrotondati ai rispettivi limiti dell'array.

**Valori restituiti**

Se il percorso è una sintassi avanzata:
+ Matrice di stringhe in blocco, che rappresentano i valori visualizzati in ogni percorso.
+ Se un valore è un array vuoto, il valore restituito corrispondente è null.
+ Se un valore non è un array, il valore restituito corrispondente è null.

Se il percorso è una sintassi limitata:
+ Stringa di massa, che rappresenta il valore JSON visualizzato
+ Null se l'array è vuoto.
+ Errore `WRONGTYPE` se il valore nel percorso non è un array.

**Esempi**

 Sintassi avanzata del percorso:

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k1 $[*]
1) (nil)
2) "\"a\""
3) "\"b\""
127.0.0.1:6379> JSON.GET k1
"[[],[],[\"a\"]]"
```

 Sintassi limitata del percorso:

```
127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k1
"[\"a\",\"b\"]"
127.0.0.1:6379> JSON.GET k1
"[[],[\"a\"]]"

127.0.0.1:6379> JSON.SET k2 . '[[], ["a"], ["a", "b"]]'
OK
127.0.0.1:6379> JSON.ARRPOP k2 . 0
"[]"
127.0.0.1:6379> JSON.GET k2
"[[\"a\"],[\"a\",\"b\"]]"
```