Maison >développement back-end >tutoriel php >Introduction aux fonctions variables en php

Introduction aux fonctions variables en php

巴扎黑
巴扎黑original
2017-09-15 09:44:211318parcourir

Cet article présente principalement des informations pertinentes sur l'explication détaillée des fonctions variables en PHP. J'espère que cet article pourra aider tout le monde à comprendre et à maîtriser les fonctions variables. Les amis dans le besoin peuvent se référer à

Explication détaillée de. exemples de fonctions variables en php

Pour avoir une idée générale des fonctions variables en php aujourd'hui, j'ai lu le résumé dans le manuel php, mais je pense que ce n'est pas très utile ;

PHP prend en charge le concept de fonctions variadiques. Cela signifie que s'il y a des parenthèses après un nom de variable, PHP recherchera une fonction portant le même nom que la valeur de la variable et tentera de l'exécuter. Les fonctions variables peuvent être utilisées pour implémenter certains objectifs, notamment les fonctions de rappel et les tables de fonctions.

Les fonctions variables ne peuvent pas être utilisées, par exemple echo, print, unset(), isset(), empty(), include, require et des constructions de langage similaires. Votre propre fonction wrapper est requise pour utiliser ces structures comme fonctions variadiques.


class Foo
{
  function Variable()
  {
    $name = 'Bar';
    $this->$name(); // This calls the Bar() method
  }
 
  function Bar()
  {
    echo "This is Bar";
  }
}
 
$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();  // This calls $foo->Variable()
 
class Foo
{
  static $variable = 'static property';
  static function Variable()
  {
    echo 'Method Variable called';
  }
}
 
echo Foo::$variable; // This prints 'static property'. It does need a $variable in this scope.
$variable = "Variable";
Foo::$variable(); // This calls $foo->Variable() reading $variable in this scope.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn