Журнал Системный Администратор, Октябрь 2007

Журнал Системный Администратор

Октябрь 2007

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


Нетривиальный синтаксис в PHP, или Головоломки для кодера

Александр Майоров

Каждый профессиональный программист должен знать все особенности языка, на котором он пишет. Попробуем разобраться в нестандартных конструкциях PHP и освоить интересные приемы.

Вместо здравствуйте…

Для того чтобы понять, насколько хорошо вы знаете особенности языка, попробуйте разобрать и объяснить, что делает нижеприведенный пример. Думаю, даже опытному программисту не сразу удастся объяснить все конструкции.

<?php

 

function emp( $data = false )
{
 return $data || $data; }($data == true);{;
 $arr = array(0,1,2,3,4,-1,-3, 8,4,3,2,1,0,-1);
}

 

function x( $data )
{
  $data || $data = '123';
  return $data;
}

 

define('def456', !!7);

{

  $var1 =

  $var2 =

  $var3 = ~-1;

  $x = 'X';

  $X[] = (array) 'emp';

 

 {

 $var1 = $var2 ? 'abc123' : def456;

 $var1 += true;

 } ( $var2 <<= 1 );

} ( $var3 += true );

 

def456 && $var1 <<= 2;

 

${$x[0]}[0][0]($var1) || $var1 -=1;

 

for ($i=$var=0, $sizeof=sizeof($arr); $i<$count,$arr[$i]<5; $i++,++$var);

{

  $ = ~(int) $var1 .= $var;

}

 

$var = ~x(--$ );

 

var_dump($var);

 

?>

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке


guest
2007-12-19 09:12:28

Ну и зачем так извращаться?
Код нужно писать так, чтобы
его можно было легко сопровождать,
а не сидеть и думать, что же там происходит.
Лучше подумать над правильным проектированием.
Татьяна
2008-01-23 07:01:41

Полезно. Понравилость про

$data || $data=foo();

и символы в reg_exp - мучалась с этими "/", а оказывается напрасно =)

Хотя тернарный оператор использую постоянно - считаю, что он не относится к нетривиальному синтаксису.

цуацъуазц
2008-05-30 08:10:36

ебануться у вас форма регистрациии. Сами в нее все пишите олени.
ребята- иметь такой говно журнал и быть такими жлобами - просто неприлично.
покапока