Unlike this, the pair 0 = "red" is in the ouput because in the second argument "red "has key which is 1.
Two values from key = value pairs are considered equal only if (string) $elem1 === (string) $elem2. In other words a strict check takes place so the string representations must be the same.