Дабы дневник стал по-настоящему записками программиста, решил время от времени постить сюда финты ушами в кодинге. Поскольку я PHP программист, то и записи будут касаться PHP и около-web-овое направление.
Люди, добавившие меня в френдлист, я надеюсь, вы знали на что шли, когда нажимали кнопку "Стать ПЧ" :-)
Итак, пое][али!
Начнем с простого :)
Быстрый и легкий способ поменять местами две и более переменных (местами бывает нужно, хотя сам забыл когда их последний раз менял :-)).
PHP:
$a='value1'; $b='value2';
list($a,$b) = array($b, $a);
font>
как следствие будет работать и следующий алгоритм.
PHP:
list($a,$b, $c, $d) = array($b, $c, $d, $a);
font>
Присваивание в левую часть будет в порядке записи данных в правой части.
Забавная ситуация получается если присваивать по ссылке
PHP:
$a="value1"; $b="value2"; $c = "value3";
list($a,$b,$c) = array(&$c, &$a, &$b);
font>
Получается, что $a сошлется на $c, которое в свою очередь сошлется на $b и мы будем иметь две ссылки на $b. Естественно, изменив $b, мы получим синхронное изменение в обеих переменных. Кому это может пригодиться, я не знаю :-)
В общем случае получается довольно интересный механизм множественного оператора присвоения.
На этом все, до следующих встреч в эфире :-)
PS:
Забавно то, что описанного выше способа работы с переменными в PHP почти никто из моих знакомых программеров не знал, пока я им не показал :-)) Т.е. они знали, что есть оператор list(), но вот до такого изврата не додумались :-)