ホームページ バックエンド開発 PHPチュートリアル php函数间的参数传递(值传递/引用传递)_php技巧

php函数间的参数传递(值传递/引用传递)_php技巧

May 17, 2016 am 08:55 AM
PHP関数 パラメータの受け渡し

php:函数间的参数传递

1.值传递

复制代码 代码如下:

function exam($var1){
$var1++;
echo "In Exam:" . $var1 . "
";
}

$var1 = 1;
echo $var1 . "
";
exam($var1);
echo $var1 . "
";
?>

-------------------------------------------------------------------------------
输出结果:
1
In Exam: 2
1
-------------------------------------------------------------------------------
2.引用传递
复制代码 代码如下:

function exam( &$var1){
$var1++;
echo "In Exam:" . $var1 . "
";
}

$var1 = 1;
echo $var1 . "
";
exam($var1);
echo $var1 . "
";
?>


-------------------------------------------------------------------------------
输出结果:
1
In Exam: 2
2
-------------------------------------------------------------------------------
3.可选参数
复制代码 代码如下:

function values($price, $tax=""){
$price += $prive * $tax;
echo "Total Price:" . $price . "
";
}

values(100, 0.25);
values(100);

输出结果:
Total Price: 125
Total Price: 100
-------------------------------------------------------------------------------
4.如果传入的是一个对象,可以更改该对象的值
(实际上变量$obj记录的是这个对象的句柄,将$obj作为参数传入,完全可以对原对象进行操作。)
复制代码 代码如下:

class Obj{
public $name;
public $age;
public $gander;
public function __construct($name, $age, $gander){
$this->name = $name;
$this->age = $age;
$this->gander = $gander;
}
public function show_info(){
echo $this->name . " " . $this->age . " " . $this->gander . "
";
}
}
function grow($obj){
$obj->age++;
}
function test(){
$obj = new Obj("Mr. zhan", "12", "male");
$obj->show_info();
grow($obj);
$obj->show_info();
grow($obj);
$obj->show_info();
}
test();
?>

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Golang 関数パラメータ受け渡しのパフォーマンスを最適化するためのベスト プラクティス Golang 関数パラメータ受け渡しのパフォーマンスを最適化するためのベスト プラクティス Apr 13, 2024 am 11:15 AM

Go 関数のパラメーター受け渡しのパフォーマンスを最適化するためのベスト プラクティスには、値の型を使用して小さい値の型をコピーすることを避けること、ポインターを使用して大きな値の型 (構造体) を渡すこと、インターフェイスを使用して多態性の型を渡すこと、などが含まれます。実際には、大きな JSON 文字列を渡すときにデータ パラメーター ポインターを渡すと、逆シリアル化のパフォーマンスが大幅に向上します。

PHPの画像処理機能を利用した画像編集・加工機能の実装方法まとめ PHPの画像処理機能を利用した画像編集・加工機能の実装方法まとめ Nov 20, 2023 pm 12:31 PM

PHPの画像処理関数は、画像の加工・編集に特化した関数群であり、開発者に豊富な画像処理機能を提供します。これらの機能を通じて、開発者は画像のトリミング、拡大縮小、回転、透かしの追加などの操作を実装して、さまざまな画像処理のニーズを満たすことができます。まずはPHPの画像処理関数を使って画像の切り抜き機能を実現する方法を紹介します。 PHP には、画像のトリミングに使用できる imagecrop() 関数が用意されています。トリミング領域の座標とサイズを渡すことで、画像をトリミングできます

PHP 関数のパフォーマンスはどの程度ですか? PHP 関数のパフォーマンスはどの程度ですか? Apr 18, 2024 pm 06:45 PM

さまざまな PHP 関数のパフォーマンスは、アプリケーションの効率にとって非常に重要です。パフォーマンスの良い関数には echo や print などがありますが、str_replace、array_merge、file_get_contents などの関数のパフォーマンスは低くなります。たとえば、str_replace 関数は文字列の置換に使用され、中程度のパフォーマンスを発揮しますが、sprintf 関数は文字列の書式設定に使用されます。パフォーマンス分析によると、1 つの例の実行にかかる時間はわずか 0.05 ミリ秒であり、関数が適切に実行されることが証明されています。したがって、関数を賢く使用すると、アプリケーションをより高速かつ効率的に実行できます。

PHP 関数と他の言語の関数の比較 PHP 関数と他の言語の関数の比較 Apr 10, 2024 am 10:03 AM

PHP 関数には他の言語の関数との類似点がありますが、いくつかの独自の機能もあります。構文的には、PHP 関数は function で宣言され、JavaScript は function で宣言され、Python は def で宣言されます。パラメータと戻り値の点では、PHP 関数はパラメータを受け入れて値を返します。JavaScript と Python にも同様の関数がありますが、構文が異なります。スコープに関しては、PHP、JavaScript、Python の関数はすべてグローバル スコープまたはローカル スコープを持ち、グローバル関数にはどこからでもアクセスできますが、ローカル関数には宣言スコープ内でのみアクセスできます。

PHP 関数と Flutter 関数の類似点と相違点 PHP 関数と Flutter 関数の類似点と相違点 Apr 24, 2024 pm 01:12 PM

PHP 関数と Flutter 関数の主な違いは、宣言、構文、戻り値の型です。 PHP 関数は暗黙的な戻り値の型変換を使用しますが、Flutter 関数は ? を通じてオプションのパラメータを指定できますが、Flutter 関数は必須パラメータと [] を使用して名前付けパラメータを渡します。 Flutter 関数は、{} を使用して名前付きパラメータを指定します。

PHP関数のパラメータの受け渡し方法とは何ですか? PHP関数のパラメータの受け渡し方法とは何ですか? Apr 10, 2024 am 11:06 AM

PHP でパラメータを渡すには 2 つの方法があります。値による呼び出し (パラメータは値のコピーとして渡され、関数内の変更は元の変数に影響しません) と参照による渡し (パラメータのアドレスが渡され、変更されます)関数内の関数は元の変数に影響します)、元の変数を変更する必要がある場合は、ショッピング カートの合計価格を計算するときに参照渡しを使用します。正しく計算するには参照渡しが必要です。

PHP関数にパラメータを渡すにはどうすればよいですか? PHP関数にパラメータを渡すにはどうすればよいですか? Apr 10, 2024 pm 05:21 PM

PHP 関数はパラメータを介して値を渡すことができ、パラメータは値渡しと参照渡しに分けられます: 値渡し: 関数内のパラメータの変更は元の値に影響しません; 参照渡し: 関数内のパラメータの変更は元の値に影響しません元の値に影響を与えます。さらに、データの合計の計算などの操作のパラメーターとして配列を渡すこともできます。

Mockeryを使用してPHP機能を拡張するにはどうすればよいですか? Mockeryを使用してPHP機能を拡張するにはどうすればよいですか? Apr 11, 2024 pm 10:18 PM

Mockery を使用して PHP 関数を拡張し、次の手順に従って関数の動作をシミュレートします。 Mockery ライブラリをインストールします。 Mockery::mock('エイリアス:関数名') を使用してモック関数を作成します。エイリアスはモック関数を参照するために使用され、関数名はモックする必要がある関数です。 shouldReceive('関数名') と andReturn() を使用して、シミュレートされた関数の戻り値または動作を指定します。モック関数はそのエイリアスを介して呼び出すことができ、期待される結果を返します。

See all articles