VBScript array_slice 関数

配列の一部を展開する


Function array_slice(mAry,offset,level)

    array_slice = false

    If Not isArray(mAry) Then Exit Function
    If Not isNumeric(offset) Then Exit Function
    If Not isNumeric(level) Then level = uBound(mAry)

    Dim s,e,arynum
    arynum = uBound(mAry)

    If offset >= 0 Then _
        s = offset _
    Else _
        s = arynum + offset + 1

    If level >= 0 Then _
        e = s + level _
    Else _
        e = arynum + level

    If e > arynum Then e = arynum

    Dim i,counter
    counter = 0
    ReDim tmp_ar(e-s)
    For i = s to e
        tmp_ar(counter) = mAry(i)
        counter = counter +1
    Next

    array_slice = tmp_ar

End Function

引数

mAry = Array 入力の配列。
offset = int offset が負の値ではない場合、要素位置の計算は、 配列 array の offset から始められます。 offset が負の場合、要素位置の計算は array の最後から行われます。
level = int level が指定され、正の場合、 連続する複数の要素が返されます。level が指定され、負の場合、配列の末尾から連続する複数の要素が返されます。 省略された場合、offset から配列の最後までの全ての要素が返されます。

戻り値

・切り取った部分を返します。

処理

・mAry から引数 offset および level で指定された連続する要素を返します。

その他の PHP array 関数