Nov 09
Доста често ми се е налагало да пиша нещо такова
if ($something){
$a = 1;
$b = 'a';
} else {
$a = '2'
$b = 'c';
}
За което обикновено ми трябват 5-6 и повече реда, което ме дразни. Но вече на 2-3 места ползвам следния синтаксис:
list($a, $b) = $something ? array(1, 'a') : array(2, 'b');
Може и да не е по-бързо и за някои хора да е “леко” не четимо, но аз си го харесвам. От една страна веднага се вижда, че от операцията $a, $b излизат със нови стойности. Две, вижда се кои са тези стойности. Три доста по-кратко и cбито е.
По принцип list e доста подценявана функционалност в php и доста често грешно използвана. Преди много време я използвах за router в моите проекти и се държеше много добре:
list($controller, $action, $id) = explode('/', $url);
Друг доста малко известен факт, е че всъщност list може да се използва и с ArrayAccess обекти. Още малко трикове има тук.
Надявам сe някои да намери това за полезно.
