Насколько я знаю, задание, которое вы пытаетесь выполнить, не является функциональным.
Код:
<code> <?php $array = array('foo' => 'bar', 'bar' => $array['foo']); ?>
<pre><?php print_r($array); ?>
... отображает следующее:
Array
(
[foo] => bar
[bar] =>
)
Поскольку массив создается за один раз, а не один раздля каждого элемента он не сможет ссылаться на значения в том же операторе, что и присвоение.