Diferença entre Arrays

Função DIFFARRAY() retorna um valor lógico verdade caso tenha encontrado divergência entre arrays clone, cuja estrutura seja a mesma (Tamanho e Tipo de Dados).

Verdadeiro (.T.)  =  Divergência encontrada.
Falso (.F.)              =  Divergência não encontrada.

Sintaxe – DIFFARRAY(array1,array2)

Exemplo:

//-------------------------------------------------------------------
/*/{Protheus.doc} DiffArray
Identifica se há diferença entre dois arrays.
@Param Array1 = {"Joao","Maria","Jose"}
@Param Array2 = {"João","Maria","Joaquim"}
@author Usuário
@since 2017
/*/
//-------------------------------------------------------------------
Function DiffArray(array1,array2)

Local lRet := .F.
Local nI := 0
Local nX := 0

Default array1 := {}
Default array2 := {}

If Len(array1) == Len(array2)
    For nX := 1 To Len(array1)
        If Len(array1[nX]) == Len(array2[nX])
            For nI := 1 To Len(array1[nX])
                If Alltrim(array1[nX,nI]) <> AllTrim(array2[nX,nI])
                    lRet := .T.
                    Exit
                Endif
            Next nI
        Else
            lRet := .T.
            Exit
        Endif

        If lRet
            Exit
        Endif

    Next nX
Else
    lRet := .T.
Endif

Return(lRet)

Deixe um comentário