ホームページ バックエンド開発 PHPチュートリアル PHP関数の参照呼び出しに関連する問題

PHP関数の参照呼び出しに関連する問題

Jun 13, 2016 pm 12:07 PM
amp function nbsp static test

PHP 関数の参照問題
function &test(){
static $b = 1;
$b = 2;
return $b; ;
$a =8;
$c = &test(); // ここで test() 関数が再度呼び出されますが、静的な $b = 1; が実行されなくなりました。結果は $c=10.
// static が削除された場合、結果は 3 であることを示しているためです。これはどう説明すればよいでしょうか?ありがとう!
echo $c;

-----解決策----------------------
static If変数 $b が変更されると、常に存在します。 static が削除されると、呼び出されるたびに初期化されます。 $a = &test(); (& を追加、アドレス転送) なので、 $ a が変更され、その後静的 変数 $b の値も変更されるため、$c = &test(); が実行されると、$b の値は 8 になり、10 が返されます

- -----解決案- ----------

静的変数には宣言時にのみ初期値が代入されます。グローバル変数のプロパティですが、スコープが異なります-----解決策----------------------

静的変数は関数のスコープ内にのみ存在します。つまり、静的変数はスタック上にのみ存在します。一般に、関数内の変数 (ローカル変数など) は関数の終了後に解放されますが、静的変数は解放されません。つまり、変数の値は次回この関数が呼び出されたときに保持されます。 ------解決策----------------------

静的変数には、次の場合にのみ初期値が割り当てられます。これらは宣言された値であり、静的変数はグローバル変数のプロパティを持ちますが、スコープが異なります 1

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Huawei Watch GT 5スマートウォッチが新機能を追加してアップデートされる Huawei Watch GT 5スマートウォッチが新機能を追加してアップデートされる Oct 03, 2024 am 06:25 AM

Huawei Watch GT 5スマートウォッチが新機能を追加してアップデートされる

鉄拳のカーネル・サンダースの夢をKFCが揚げた 鉄拳のカーネル・サンダースの夢をKFCが揚げた Oct 02, 2024 am 06:07 AM

鉄拳のカーネル・サンダースの夢をKFCが揚げた

Samsung Galaxy Z Fold Special Edition、競合する名前が浮上、10月下旬に発売されることが判明 Samsung Galaxy Z Fold Special Edition、競合する名前が浮上、10月下旬に発売されることが判明 Oct 01, 2024 am 06:21 AM

Samsung Galaxy Z Fold Special Edition、競合する名前が浮上、10月下旬に発売されることが判明

初見:次期 Anker Zolo 4 ポート 140W ディスプレイ付き充電器の開封ビデオが流出 初見:次期 Anker Zolo 4 ポート 140W ディスプレイ付き充電器の開封ビデオが流出 Oct 01, 2024 am 06:32 AM

初見:次期 Anker Zolo 4 ポート 140W ディスプレイ付き充電器の開封ビデオが流出

HyperOS を搭載した新しい Xiaomi Mijia グラフェン オイル ヒーターが到着 HyperOS を搭載した新しい Xiaomi Mijia グラフェン オイル ヒーターが到着 Oct 02, 2024 pm 09:02 PM

HyperOS を搭載した新しい Xiaomi Mijia グラフェン オイル ヒーターが到着

Cyber​​truck FSD のレビューでは、素早いレーン切り替えと全画面視覚化が賞賛されています Cyber​​truck FSD のレビューでは、素早いレーン切り替えと全画面視覚化が賞賛されています Oct 01, 2024 am 06:16 AM

Cyber​​truck FSD のレビューでは、素早いレーン切り替えと全画面視覚化が賞賛されています

Garmin、新しいアップデートにより複数のスマートウォッチ向けの Adventure Racing アクティビティの改善をリリース Garmin、新しいアップデートにより複数のスマートウォッチ向けの Adventure Racing アクティビティの改善をリリース Oct 01, 2024 am 06:40 AM

Garmin、新しいアップデートにより複数のスマートウォッチ向けの Adventure Racing アクティビティの改善をリリース

Manjaro 24.1「Xahea」は、KDE ​​Plasma 6.1.5、VirtualBox 7.1 などとともに起動します Manjaro 24.1「Xahea」は、KDE ​​Plasma 6.1.5、VirtualBox 7.1 などとともに起動します Oct 02, 2024 am 06:06 AM

Manjaro 24.1「Xahea」は、KDE ​​Plasma 6.1.5、VirtualBox 7.1 などとともに起動します

See all articles