ホームページ  >  記事  >  バックエンド開発  >  再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

WBOY
WBOYオリジナル
2016-09-06 08:57:10992ブラウズ

PHP メンバー メソッドでカスタム関数を作成できますか?
メソッド内で関数を定義しましたが、呼び出し時にエラーが報告されました
これがエラーを報告したメソッドです
再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?
エラーは次のように報告されました

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

ただし、関数を作成して再帰を実行する別のメソッドもありますが、エラーは報告されません。

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

これはこれら 2 つのメソッドを呼び出すためのインターフェースです

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

エラーが報告されるのはなぜですか?誰かそれを説明するか、それに対処する良い方法を持っていますか

返信内容:

PHP メンバー メソッドでカスタム関数を作成できますか?
メソッド内で関数を定義しましたが、呼び出し時にエラーが報告されました
これがエラーを報告したメソッドです
再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?
エラーは次のように報告されました

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

しかし、関数を書いて再帰を実行する別のメソッドもありますが、エラーは報告されません。

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

これはこれら 2 つのメソッドを呼び出すためのインターフェースです

再帰 - PHP メンバー メソッドでカスタム関数を記述できますか?

エラーが報告されるのはなぜですか?誰かそれを説明するか、それに対処する良い方法を持っていますか

カスタム関数をクラスのメンバー メソッドとして記述してみてはいかがでしょうか?

ありがとうございます。ここで報告したエラーは、他の場所でも getTree 関数を定義しているためです。このエラーは、それが繰り返し定義されていることを意味します。

おそらく次のような、より良い選択肢の PHP クロージャもあります:

リーリー

公式ドキュメントはこちらをご覧ください。わかりやすいです: http://php.net/manual/zh/func...

getTree 関数はすでに LabelController で定義されているため、繰り返し定義することはできません。

php の関数 (クラスメソッドではない) はすべてグローバルです。つまり、グローバルに定義しても関数内で定義しても、グローバルとみなされます (これは js とは異なります。混乱しないでください)。

phpは関数のオーバーロードをサポートしていない(つまり名前が重複しない)ため、関数の繰り返し宣言は許可されていません(オーバーロードに関してはクラスで実装できますが、意味が全く異なり、エラーのような感じです)操作機能、それはただ使われています。親切な表示ですが、個人的には役に立たないと思います)。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。