ホームページ  >  記事  >  バックエンド開発  >  join 関数はどのようにして前のパラメータを省略しますか?

join 関数はどのようにして前のパラメータを省略しますか?

WBOY
WBOYオリジナル
2016-10-10 11:56:111239ブラウズ

join (implode のエイリアス) に似た関数をカプセル化したいのですが、コードは次のとおりです:

リーリー

このように書くとシステム関数 join に似ていますが、呼び出し時に $glue パラメータが入力されていない場合はエラーが報告されます。

デフォルト値を持つパラメータは最後に配置する必要があることはわかっています。たとえばgetJoin($arr,$glue="")、呼び出すときに$arrパラメータのみを入力できるようにしますが、マニュアルとシステム関数joinのパラメータ値を読みました。これは次のようなものです:

join 関数はどのようにして前のパラメータを省略しますか?

角括弧がないのはパラメータが省略できないことを示すと同時に、パラメータを1つだけ埋める書き方にも対応しており、デフォルトでは空文字列を$glueの値として使用します。歴史的な理由による説明ですが、システム機能がどのように実装されているかを知りたいです。

返信内容:

join (implode のエイリアス) に似た関数をカプセル化したいのですが、コードは次のとおりです:

リーリー

このように書くとシステム関数 join に似ていますが、呼び出し時に $glue パラメータが入力されていない場合はエラーが報告されます。

デフォルト値を持つパラメータは最後に配置する必要があることはわかっています。たとえばgetJoin($arr,$glue="")、呼び出すときに$arrパラメータのみを入力できるようにしますが、マニュアルとシステム関数joinのパラメータ値を読みました。これは次のようなものです:

join 関数はどのようにして前のパラメータを省略しますか?

角括弧がないのはパラメータが省略できないことを示すと同時に、パラメータを1つだけ埋める書き方にも対応しており、デフォルトでは空文字列を$glueの値として使用します。歴史的な理由による説明ですが、システム機能がどのように実装されているかを知りたいです。

関数のオーバーロード。 。 。
http://m.blog.csdn.net/articl...

この効果を実現する必要がある場合は、PHP の可変数パラメータ宣言メソッドを使用できます。
http://php.net/manual/zh/func...を参照してください。
パラメータを配列に取得し、配列を分析して処理します。

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