VBScript shuffle function

A VBScript equivalent of PHP’s shuffle


Function shuffle(ByRef arr)

    shuffle = false
    If not isArray(arr) Then Exit Function

    Dim key,j,x,i : i = count(arr,0)

    Randomize

    For key = 0 to uBound(arr)
        i = i -1
        j = Round(Rnd * i)
        [=] x , arr(i)
        [=] arr(i) , arr(j)
        [=] arr(j) , x
    Next

    shuffle = true

End Function


Please also note that php.vbs offers community built functions and goes by the McDonald’s Theory. We’ll put online functions that are far from perfect, in the hopes to spark better contributions. Do you have one? Then please just:

Other PHP functions in the array extension