Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Объясните, что за синтаксис такой $notEmpty($_POST['data'])
Форумы портала PHP.SU » » Вопросы новичков » Объясните, что за синтаксис такой $notEmpty($_POST['data'])

Страниц (1): [1]
 

1. RomAndry - 15 Ноября, 2014 - 17:17:29 - перейти к сообщению
Приветствую, вот встретил в коде вот такой синтаксис и ума не приложу для чего и почему так?
PHP:
скопировать код в буфер обмена
  1. if($notEmpty($_POST['data'])) {

Где я прогулял эту тему? =)
Спасибо
2. teddy - 15 Ноября, 2014 - 17:22:00 - перейти к сообщению
Вызов анонимной функции от имени переменной.

PHP:
скопировать код в буфер обмена
  1. $notEmpty = function($var){
  2.     return !empty($var);
  3. };
  4.  
  5. $var = 'hello';
  6.  
  7. var_dump($notEmpty($var));


Думаю, запись бессмысленна. Можно сразу проверить на эмпти без ещё одной функции
3. RomAndry - 15 Ноября, 2014 - 17:31:08 - перейти к сообщению
да, точно. Спасибо.
4. Мелкий - 15 Ноября, 2014 - 17:39:55 - перейти к сообщению
Вообще вызов функции, много чего вызывать так можно.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function test() {
  3.         echo __FUNCTION__;
  4.         }
  5. class foo {
  6.         public static function bar() {
  7.                 echo __METHOD__;
  8.                 }
  9.         public function __invoke() {
  10.                 echo __METHOD__;
  11.                 }
  12.         }
  13. $rgCallbacks = array(
  14.         'test',
  15.         create_function('', 'echo __FUNCTION__;'),
  16.         function() {echo __FUNCTION__;},
  17.         new foo,
  18.         array('foo','bar'),
  19.         );
  20.  
  21. foreach ($rgCallbacks as $callback) {
  22.         $callback();
  23.         echo PHP_EOL;
  24.         }

При том, первые два - ещё PHP4 умеет; через __invoke и closure научился 5.3; 5.4 добавил вызов статического метода из массива.
5. teddy - 15 Ноября, 2014 - 18:49:35 - перейти к сообщению
Мелкий пишет:
много чего вызывать так можно.

Да... справедливое замечание

Но я почему-то в этом контексте даже и не вспомнил про такие особенности языка

 

Powered by ExBB FM 1.0 RC1