Гриня, тем что интерпретатор будет делать так:
1) Создаёт массив (неименованный) и КОПИРУЕТ туда две переменные (память на массив)
2) Перемещает копии переменных из массива посредством вызова функции в переменные. (использование не элементарной функции)
Т.е. если по сути , то это избыточный вариант , но на практике бесспорно удобный , т.к. прост и нагляден (в отличии от ссылок ;) которые на переменные). Да и в интерпретаторе есть такая примета - чем меньше строк тем лучше , потому что интерпретация множества элементарных операций все же дольше чем интерпретация пары вшитых функций... А вообще все это бред что я сказал , ибо в РНР так запариваться на памяти есть великое зло и психоз :)
ЗЫ Надо будет вспомнить тот приёмчик про две переменные поменять местами без третей.
2)