

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

配列からそのインデックスの要素を削除し、返します。空の配列をポップすると null が返されます。

構文

```
JSON.ARRPOP <key> [path [index]]
```
+ キー (必須) - JSON ドキュメントタイプのキー
+ パス「オプショナル」– JSON パス。指定しない場合、デフォルトでルートになります
+ index (オプション) — ポップを開始する配列内の位置。
  + 指定しない場合、デフォルトで -1 になります。これは最後の要素を意味します。
  + 負の値は、最後の要素からの位置を意味します。
  + 境界外インデックスは、それぞれの配列境界に丸められます。

**戻る**

パスが拡張構文の場合:
+ 各パスのポップされた値を表す一括文字列の配列。
+ 値が空の配列の場合、対応する戻り値は null です。
+ 値が配列でない場合、対応する戻り値は null です。

パスが制限構文の場合:
+ 一括文字列。ポップされた JSON 値を表します
+ 配列が空の場合は null になります。
+ パスの値が配列でない場合は、`WRONGTYPE` エラーになります。

**例**

 拡張パス構文:

```
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\"]]"
```

 制限パス構文:

```
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\"]]"
```