PHP関数にパラメータを渡す方法
php での関数のパラメータの受け渡しには、形式的なパラメータの受け渡し (C 言語などのプログラミング言語からの用語の借用) があります。
つまり、変数の値を関数のパラメーターに代入することです。関数パラメーターに対して実行されるすべての操作は、元の変数とは何の関係もありません。
//php function testX( $b ) { return $b-=2; } $a = 5 ; $c = testX($a); print_r($a);//5 print_r($c);//3
そして、アドレス転送(参照転送)とは、変数のアドレスを関数の引数に与えることであり、関数内の引数に対する演算はすべて変数に対する演算と等価です。
//php function testS( &$b ) { return $b-=2; } $a = 5 ; $c = testX($a); print_r($a);//3 print_r($c);//3
PHP では、関数のパラメーターと変数はすべてメモリ内のスペースを空けますが、通常のパラメーターの受け渡しではパラメーターに値が割り当てられますが、参照の受け渡しでは割り当てられず、変数のアドレスが代入されます。
パラメータが配置されているスペースに移動します。
特に注目すべきは、PHP5以降、参照の受け渡しの書き方が変更されたことです。上記のコードに示すように、PHP の記述方法を他のプログラミング言語と同じ方法に変更します。定義する場合は
& を使用する必要がありますが、呼び出す場合は & を使用する必要はありません。これまでの書き方とは大きく異なります。
//php以前的写法 function &testS( &$b ) { return $b-=2; } $c = &testS($a);
利点:
個人的には、この書き方の変更は、php 言語の独自性を減らし、他のプログラミング言語の書き方に近づけることだと思います。ある意味、他のプログラミング言語に精通しているプログラマーが PHP をより早く習得できるようになります。コードの読み取りと論理理解の観点から、関数内の変数に対して実行されるすべての操作は完全に無視されます。コードの抽象化にとってはより理にかなっています。
欠点:
開発の最前線にいるプログラマーにとって、これはクレイジーな変更だと思います。特に二次開発をしている人にとっては。二次開発者は、先行開発者に基づいて開発する必要があります。関数を見るとき、私は値による参照関数を & で区別することに慣れています。この記述方法がなければ、すべての関数は同じになります。値による参照関数への呼び出しが含まれる場合、プログラマは、値による参照関数の内部に入る必要があります。コードの詳細を確認する機能。特にプログラムにエラーがある場合。値による参照関数によって変数に加えられたすべての変更を詳細に理解する必要があります。また、& をキャンセルして参照関数を呼び出すということは、プログラムによって呼び出されるすべての関数を確認する必要があることを意味し (どの関数が参照関数であるかわからないため)、その作業負荷は容易に想像できます。
グローバル変数 (global) もあります。これはパラメータを直接かつ迅速に定義する方法です。関数で使用するパラメータをグローバル変数として設定します。このように、関数内の操作では変数自体が直接使用されます。
短いプログラムで使用するのには問題ありませんが、これは外部ファイルを呼び出すときにパラメータを定義する理想的な方法ではありません。
以上がPHP関数にパラメータを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP5.4 バージョンの新機能: 呼び出し可能な型ヒント パラメーターを使用して呼び出し可能な関数またはメソッドを受け入れる方法 はじめに: PHP5.4 バージョンでは、非常に便利な新機能が導入されています。呼び出し可能な型ヒント パラメーターを使用して、呼び出し可能な関数またはメソッドを受け入れることができます。この新機能により、追加のチェックや変換を行わずに、関数やメソッドで対応する呼び出し可能なパラメーターを直接指定できるようになります。この記事では、呼び出し可能な型ヒントの使用法を紹介し、いくつかのコード例を示します。

製品パラメータは、製品属性の意味を指します。たとえば、衣類のパラメータには、ブランド、素材、モデル、サイズ、スタイル、生地、適用グループ、色などが含まれ、食品のパラメータには、ブランド、重量、素材、保健免許番号、適用グループ、色などが含まれ、家電のパラメータには、家電製品のパラメータが含まれます。ブランド、サイズ、色、原産地、適用可能な電圧、信号、インターフェース、電力などが含まれます。

開発プロセス中に、次のようなエラー メッセージが表示される場合があります: PHPWarning: in_array()expectsparameter。このエラー メッセージは、in_array() 関数を使用するときに表示されます。関数のパラメータの受け渡しが正しくないことが原因である可能性があります。このエラー メッセージの解決策を見てみましょう。まず、in_array() 関数の役割を明確にする必要があります。配列に値が存在するかどうかを確認します。この関数のプロトタイプは次のとおりです: in_a

i9-12900H は 14 コア プロセッサです。使用されているアーキテクチャとテクノロジはすべて新しく、スレッドも非常に高速です。全体的な動作は優れており、いくつかのパラメータが改善されています。特に包括的で、ユーザーに優れたエクスペリエンスをもたらします。 。 i9-12900H パラメータ評価レビュー: 1. i9-12900H は、q1 アーキテクチャと 24576kb プロセス テクノロジを採用した 14 コア プロセッサで、20 スレッドにアップグレードされています。 2. 最大 CPU 周波数は 1.80! 5.00 ghz で、主にワークロードによって異なります。 3. 価格と比較すると、非常に適しており、価格性能比が非常に優れており、通常の使用が必要な一部のパートナーに非常に適しています。 i9-12900H のパラメータ評価とパフォーマンスの実行スコア

C++ パラメーターの型の安全性チェックでは、コンパイル時チェック、実行時チェック、静的アサーションを通じて関数が予期される型の値のみを受け入れるようにし、予期しない動作やプログラムのクラッシュを防ぎます。 コンパイル時の型チェック: コンパイラは型の互換性をチェックします。実行時の型チェック:dynamic_cast を使用して型の互換性をチェックし、一致しない場合は例外をスローします。静的アサーション: コンパイル時に型条件をアサートします。

双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

大規模言語モデル (LLM) は優れたパフォーマンスを持っていますが、パラメーターの数は簡単に数千億に達する可能性があり、コンピューティング機器とメモリの需要が非常に大きいため、一般の企業にはそれを買う余裕がありません。量子化は一般的な圧縮操作であり、モデルの重みの精度を下げる (32 ビットから 8 ビットなど) ことにより、推論速度の高速化とメモリ要件の削減と引き換えにモデルのパフォーマンスの一部を犠牲にします。しかし、1,000 億を超えるパラメータを持つ LLM の場合、既存の圧縮方法ではモデルの精度を維持できず、ハードウェア上で効率的に実行することもできません。最近、MIT と NVIDIA の研究者が共同で、汎用のポストトレーニング量子化 (GPQ) を提案しました。

C++ 関数の参照パラメーター (基本的には変数のエイリアス、参照を変更すると元の変数が変更されます) とポインター パラメーター (元の変数のメモリ アドレスを保存し、ポインターを逆参照して変数を変更します) は、変数を渡したり変更したりするときに使用方法が異なります。参照パラメーターは、コンストラクターまたは代入演算子に渡されるときのコピーのオーバーヘッドを避けるために、元の変数 (特に大きな構造体) を変更するためによく使用されます。ポインター パラメーターは、メモリの場所を柔軟に指定したり、動的データ構造を実装したり、オプションのパラメーターを表すために null ポインターを渡したりするために使用されます。
