...Well, let's use an example <i>without</i> arrays:
<font color=blue>
$a = 'hello';
$b = 'world';
print $b; // prints "hello", as expected
$a = 'foo';
print $b; // print "hello"
</font>
Just like in your code, you are assigning a value (in your case, blak variables) to another variable. You then change the value of the first variable and then expect the second to also change. Won't happen. When you execute the assignment, you are <i>copying the value</i> of the first variable into the second. Anything you do with the first var after that does not affect the second var.
If you want to do it this way, then you can make the assignment <i>by reference</i> rather than <i>by value</i>:
<font color=blue>
$a = 'hello';
$b = &$a; // note the ampersand
print $b; // prints "hello"
$a = 'world';
print $b; // prints "world" now!
</font>
HTH
-- Rich