int i=0,j=0,k=0; int[] x=new int[a.length+b.length]; if(a[i]<b[j]) x[k] = a[i++]; else x[k] = b[j++]; while(i<a.length || j<b.length){ // calculation of length will happen ju st one time, in php it will happen every time if we put it in while loop if(i>=a.length) x[++k]=b[j++]; else if(j>=b.length) x[++k]=a[i++]; else if(a[i]<b[j]) if(a[i]!=x[k]) x[++k]=a[i++]; else i++; else if(a[i]>b[j]) if(b[j]!=x[k]) x[++k]=b[j++]; else j++; else if(a[i]==b[j]) if(a[i]!=x[k]){ x[++k]=a[i++]; j++; }else{ i++; j++; }