⊗ppSpFnAnVBC 6 of 83 menu

PHPにおける無名関数呼び出し前の変数

以下のようなコードがあるとします:

<?php $pow = 2; $func = function($num) use ($pow) { return $num ** $pow; }; echo $func(4); ?>

上記のコードが動作するのは、変数 $pow が 関数の宣言前に記述されているためです。 しかし、変数の宣言を関数の呼び出し前に 置いてしまうと、すべて動作しなくなります:

<?php $func = function($num) use ($pow) { return $num ** $pow; }; $pow = 2; echo $func(4); ?>

参照渡しにすることでこの問題を修正できます:

<?php $func = function($num) use (&$pow) { return $num ** $pow; }; $pow = 2; echo $func(4); ?>

コードが意図した通りに動作するように修正してください:

<?php $func = function() use ($num1, $num2) { return $num1 + $num2; }; $num1 = 2; $num2 = 3; echo $func(); ?>
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否