Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Funktionsdeklaration und -verwendung

PHP-Funktionsdeklaration und -verwendung

大家讲道理
大家讲道理Original
2017-05-28 09:42:411637Durchsuche


1. Der Funktionsname ist einer der Bezeichner. Er darf nur alphanumerische Unterstriche enthalten und darf nicht mit einer Zahl beginnen > Funktion Die Benennung des Namens muss der „Little Camel Case Rule“ entsprechen. FUNC(), func(), Func(); 🎜>

Der Funktionsname darf nicht mit dem Namen einer vorhandenen Funktion oder dem Namen der integrierten Funktion identisch sein; > 2.

function_exists("func"); Wird verwendet, um zu erkennen, ob die Funktion deklariert wurde.

 Beachten Sie, dass der Funktionsname übergeben wurde in muss im Format string vorliegen und das Ergebnis ist wahr/falsch;

Wenn echo gedruckt wird, ist wahr 1, false wird nicht angezeigt;

[php in Variablenbereich]

1. Lokal Variablen: Innerhalb einer Funktion deklarierte Variablen werden als lokale Variablen bezeichnet und nur innerhalb der Funktion verwendet.Wenn Sie sie außerhalb der Funktion verwenden müssen, müssen Sie das Schlüsselwort return in der zurückzugebenden Funktion verwenden ;

2. Globale Variablen: Variablen, die außerhalb der Funktion deklariert werden, werden globale Variablen genannt; 🎜> 3

(Häufiger verwendet)

In Funktionen verwendete Variablen verwenden standardmäßig lokale Variablen. Um globale Variablen in einer Funktion zu verwenden, muss das Schlüsselwort global verwenden > Variablenname in der Funktion Wenn es mit dem globalen Variablennamen wiederholt wird, ist es über global die lokale Variable der Funktion. und unter global ist es die globale Variable der Funktion

4.$GLOBALS[''] Global Array

; kann direkt überall verwendet werden; zB:

$GLOBALS['a3'] =10;

5. Es gibt eine andere Möglichkeit, globale Variablen in Funktionen zu verwenden: Durch die Übergabe von Parametern an Parameter können globale Variablen innerhalb der Funktion verwendet werden. Die nach der Übergabe übergebenen Parameter sind jedoch lokal Variablen und ändern sich intern, die Außenseite ändert sich nicht, es sei denn, der übergebene Parameter ist die Adresse .function func($a1,&$a2){}func($a1,$a2);

(Grund) $a1 ist eine interne Variable, wenn sie sich intern ändert ändert sich intern, es wird sich auch extern ändern;

                                                                                                                                                                                                                                 > Beispiel: func($a1,$a2) richtig func($a1,2) falsch

StatischeVariablen]

Statische Variablen: Verwenden Sie das statische Schlüsselwort zu deklarieren, static $num=10;

Statische Variablen Funktionen:

Statische Variablen werden deklariert, wenn die Funktion zum ersten Mal geladen wird ;

Statische Variablen werden nicht sofort nach Verwendung der Funktion freigegeben

Dieselbe Funktion wird mehrmals aufgerufen und verwendet dieselbe statische Variable.

                                                                                                                                                                                                                         { 1. Konventionelle Parameterübertragung:

function fun( $a){ $a+=10;

$a; zurückgeben

}

echo fun(10);

2. bezieht sich auf Parameter vom Typ :

$a=10;

Funktion func(&$a){

$ a+=10;

}func($b);

Referenzparameter werden übergeben, Variablen werden innerhalb der Funktion geändert und geändert werden außerhalb der Funktion synchronisiert;

Die formalen Parameter sind Referenzparameter, und die tatsächlichen Parameter können nur Variablen und keine Literale sein.

3. Standardparameter:

Funktion func($a,$b=10){

return $a+$b;

}

echo func(30); //Standardparameter von $b ist 10

Wenn die Parameter sowohl Standardparameter als auch Nicht-Standardparameter enthalten, muss die Standardparameterliste nach der Nicht-Standardparameterliste stehen, d. h. Die nicht standardmäßige Parameterliste muss garantiert werden. Standardparameterzuweisungsreihenfolge.

func_get_args(); //Alle Parameterlisten (Arrays) abrufen

func_num_args (); //Erhalte die Gesamtzahl aller Parameter, äquivalent zu count(func_num_args());

func_get_arg( 0); // Nehmen Sie gemäß der folgenden Tabelle jeden Parameter

[Variablenfunktion]

Verwandeln Sie einen Funktionsnamen in eine Zeichenfolge, und gib eine Variable an. Diese Variable nennen wir eine Variablenfunktion. Sie können () hinzufügen, um den Funktionsinhalt aufzurufen

Funktion func(){ }---->fun="func",----->func( );

[ Die Callback-Funktion

1. ;

function($func){func();}-->function f(){}--->func("f");

2 Verwenden Sie c

all_user_func_array und call_user_func, um die Rückruffunktion anzupassen.

Zwei Der erste Parameter der Funktion ist eine Rückruffunktion. was bedeutet, dass der aktuelle Rückruf ausgeführt wird;

Der Unterschied besteht darin, dass der zweite Parameter von call_user_func_array() ein Array ist und jeder Wert des Arrays die der Rückruffunktion zugewiesene Parameterliste ist entspricht apply() in

js; und call_user_func erweitert und schreibt die Parameterliste der Rückruffunktion direkt in den zweiten und mehrere Parameter, was js call();

eg:call_user_func_array("func",array(1,2,3));--->func(1,2, 3);

call_user_func("func" 1,2,3);---->func(1,2,3);

                                                                                    Verschiedene Aufrufmethoden, $fun ()/func() Um Funktionsaufrufe einheitlicher zu gestalten, wurden daher anonyme Funktionen erstellt. Das „;“ nach der Deklaration des anonymen Funktionskörpers ist wichtig!!!

Die anonyme Funktion selbst ist ebenfalls eine Variable, die von var_dump als

ObjektklasseTyp;

Beispiel: Berechnen Sie die Hierarchie einer Zahl:

<.>                                                                                                                                                                                


[

Rekursive Funktion

]

=

指的是在函数内部,调用函数自身的操作;当外层函数体中,遇到自身函数调用,继续进入内层函数执行,而自身函数的后半部分暂不执行,知道最内层函数执行完以后,在逐步向外执行;



function func($num){
     echo $num."<br/>";    if($num>0){
        func($num-1);   //func(--$num);   试一试又不一样的结果哟!   //func($num--);    }
    echo $num."<br/>";
 }func(10);

                                [include/require]
   1.两者的作用就是用于引入外部的PHP文件到当前文件中:include 'a.php';include ('a.php');
   2.两者的区别:(对于错误的处理不同)当引入文件错误时,include会产生警告,并不影响后续代码的执行,而require会产生错误,后续代码不再执行;
   3.一般当用于在文件最上方导入某些文件时,使用require导入,如果失败,则不执行文件;
     如果是在某些分支条件中,导入执行某些操作,一旦报错不影响执行结果。
   4.include_oncerequire_once表示:文件只能导入一次,如果多次调用函数,则后面的文件会判断文件是否导入,再决定是否导入新文件。
     (检测文件是否导入时只关心文件是否已经导入,并不关心使用何种方式导入的。)
   5.include/require可以导入各种类型的文件,相当于在当前文件copy了一份,但是copy过程中,PHP引擎会进行适当的编译,确保不会出错。
   6.include和require是函数也是指令!PHP对于很多常用函数,会提供执行的写法,eg:函数写法echo("111");指令写法echo "111";
  

 

Das obige ist der detaillierte Inhalt vonPHP-Funktionsdeklaration und -verwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn