PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPで実行時に関数を削除するにはどうすればよいですか?


PHPの関数とクラスには、グローバルスコープがあります。これは、スコープ内で定義された後でも、関数の外部で呼び出される可能性があることを意味します。

ただし、PHPは関数のオーバーロードをサポートしておらず、以前に宣言された関数を再定義することはできません。

関数は無名関数として定義でき、実行の完了後に設定を解除できます。

以下は同じ-

のコードサンプルです
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc())
   $my_fn = create_function('&$v, $k', '$v = stripslashes($v);');
   array_walk_recursive(array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST), $my_fn);
   unset($my_fn);
}

匿名関数をそれ自体の内部で呼び出すことはできません。回避策は、array_walk_recursiveを使用することです。


  1. PHPで文字列の最初の文字を削除するにはどうすればよいですか?

    PHPで文字列の最初の文字を削除するには、コードは次のとおりです- 例 <?php    $str = "Test";    echo "Before removing the first character = ".$str;    $res = substr($str, 1);    echo "\nAfter removing the first character = ".$res; ?> 出力 これにより、次の出力が生成されます-

  2. PHPで現在の関数名を取得するにはどうすればよいですか?

    PHPで現在の関数名を取得するには、コードは次のとおりです- 例 <?php    class Base {       function display() {          echo "\nBase class function declared final!";          var_dump(__FUNCTION__);       }