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を使用することです。
-
PHPで文字列の最初の文字を削除するにはどうすればよいですか?
PHPで文字列の最初の文字を削除するには、コードは次のとおりです- 例 <?php $str = "Test"; echo "Before removing the first character = ".$str; $res = substr($str, 1); echo "\nAfter removing the first character = ".$res; ?> 出力 これにより、次の出力が生成されます-
-
PHPで現在の関数名を取得するにはどうすればよいですか?
PHPで現在の関数名を取得するには、コードは次のとおりです- 例 <?php class Base { function display() { echo "\nBase class function declared final!"; var_dump(__FUNCTION__); }