Pode-se passar um array como parâmetro para um comando 4D ou para rotina de um plug-in 4D. Por outro lado, não se pode passar um array como parâmetro para um método de usuário. A alternativa é passar um apontador para um array como parâmetro para o método.
 Nota: pode-se passar arrays de processo e de interprocesso como parâmetros, mas não arrays locais.
 Seguem alguns exemplos.
  If((0<atNomes)&(atNomes<Size of array(atNomes))
  
    atNomes:=atNomes+1
 End ifSe precisar fazer o mesmo para 50 arrays diferentes, pode-se evitar escrever a mesma coisa 50 vezes, usando o seguinte método de projeto:
 Então, pode-se escrever:
  SELECIONAR SEGUINTE ELEMENTO(->atNomes)
  
 SELECIONAR SEGUINTE ELEMENTO(->asCodigosPostais)
  
 SELECIONAR SEGUINTE ELEMENTO(->aiIDRegistros)
  
- O seguinte método de projeto tem como resultado a soma de todos os elementos de um array numérico (Inteiro, Inteiro longo ou real):
Nota: desde 4D v13, pode utilizar a função Sum para realizar a soma dos elementos de um array numérico. 
Assim, pode-se escrever:
  $vlSum:=Soma Array(->arSalarios)
  
 $vlSum:=Soma Array(->aiDefectCounts)
  
 $vlSum:=Soma Array(->alPopulacao)
- O seguinte método de projeto coloca em caixa alta todos os elementos de um array de texto ou alfanumérico:
Assim, pode-se escrever:
  MAIUSCULAS ARRAY(->atTemas)
  
 MAIUSCULAS ARRAY(->asSobrenomes)
A combinação de arrays, apontadores e estruturas de looping, como For...End for, permite escrever muitos métodos de projeto úteis para manusear arrays.