VBScript array_shift 関数

配列の先頭から要素を一つ取り出す


Function array_shift(ByRef ary)

    If Not isArray(ary) and Not isObject(ary) then
        array_shift = null
        Exit Function
    End If

    Dim i,key : i = 0

    If isArray(ary) Then
        array_shift = ary(0)

        For i = 0 to uBound(ary)-1
            ary(i) = ary(i+1)
        Next
        Redim Preserve ary(UBound(ary) - 1)

    ElseIf isObject(ary) Then
        For Each key In ary
            array_shift = ary(key)
            ary.Remove(key)
            Exit For
        Next
    End if

End Function

引数

ary = Array 配列

戻り値

・ary の最初の値を取り出して返します。
・array が空の場合 (または配列でない場合)、 NULL が返されます。

処理

・配列 ary は、要素一つ分だけ短くなり、全ての要素は前にずれます。
・数値添字の配列のキーはゼロから順に新たに振りなおされますが、 リテラルのキーはそのままになります。

その他の PHP array 関数