When you create an array, and point a value such as:
whatever[1] = "test"; whatever[2] = "testing";
and rsort(whatever);
does it then become:
whatever[0] = "test"; whatever[1] = "testing";
??
why does it reset the key-value relationship?
Because rsort() does not maintain the key index. I you want to maintain the index use
arsort() which the manual tells you will maintain the key index but reverse sort the array.