{"id":446,"date":"2025-06-10T20:34:01","date_gmt":"2025-06-10T12:34:01","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/jcyy\/446.html"},"modified":"2025-06-10T20:34:01","modified_gmt":"2025-06-10T12:34:01","slug":"php%e4%b8%ad%e7%9a%84%e9%97%ad%e5%8c%85%ef%bc%9a%e5%85%a8%e9%9d%a2%e6%8c%87%e5%8d%97","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/446.html","title":{"rendered":"PHP\u4e2d\u7684\u95ed\u5305\uff1a\u5168\u9762\u6307\u5357"},"content":{"rendered":"<p><body><\/p>\n<h2>&#20171;&#32461;<\/h2>\n<p>&#38381;&#21253;&#65292;&#19982;&#20989;&#25968;&#24335;&#32534;&#31243;&#32039;&#23494;&#30456;&#20851;&#30340;&#19968;&#20010;&#27010;&#24565;&#65292;&#22312;&#29616;&#20195;PHP&#24320;&#21457;&#20013;&#21464;&#24471;&#38750;&#24120;&#24378;&#22823;&#12290;&#26412;&#25351;&#21335;&#23558;&#25581;&#24320;&#38381;&#21253;&#30340;&#31070;&#31192;&#38754;&#32433;&#65292;&#23637;&#31034;&#22914;&#20309;&#21033;&#29992;&#23427;&#20204;&#32534;&#20889;&#26356;&#31616;&#27905;&#12289;&#27169;&#22359;&#21270;&#30340;&#20195;&#30721;&#12290;<\/p>\n<h2>&#29702;&#35299;&#38381;&#21253;&#65288;Closure&#65289;<\/h2>\n<p>&#22312;PHP&#20013;&#65292;&#38381;&#21253;&#26159;&#19968;&#31181;&#21311;&#21517;&#20989;&#25968;&#65292;&#23427;&#21487;&#20197;&#25429;&#33719;&#20854;&#21608;&#22260;&#20316;&#29992;&#22495;&#20013;&#30340;&#21464;&#37327;&#12290;&#36825;&#20123;&#20989;&#25968;&#20801;&#35768;&#24744;&#23553;&#35013;&#21151;&#33021;&#65292;&#24182;&#19982;&#22238;&#35843;&#27169;&#24335;&#26377;&#24456;&#22909;&#30340;&#21327;&#21516;&#20316;&#29992;&#12290;<\/p>\n<pre><code>&lt;?php\n$value = 10;\n$closure = function() use ($value) {\n    return $value + 20;\n};\necho $closure();  \/\/ Outputs: 30\n?&gt;<\/code><\/pre>\n<h3>&#22810;&#24577;&#24615;<\/h3>\n<p>&#38381;&#21253;&ldquo;&#32487;&#25215;&rdquo;&#20854;&#29238;&#20316;&#29992;&#22495;&#20013;&#30340;&#21464;&#37327;&#20351;&#29992;&#30340;&#26159;&#20316;&#29992;&#22495;&#38142;&#12290;<code>use<\/code>&#20851;&#38190;&#35789;&#65306;&#36825;&#20351;&#24471;&#21151;&#33021;&#33021;&#22815;&#20197;&#21487;&#25511;&#30340;&#26041;&#24335;&#32500;&#25252;&#29366;&#24577;&#12290;<\/p>\n<pre><code>&lt;?php\n$incrementBy = 5;\n$adder = function($num) use ($incrementBy) {\n    return $num + $incrementBy;\n};\necho $adder(10);  \/\/ Outputs: 15\n?&gt;<\/code><\/pre>\n<h3>&#25913;&#21464;&#22806;&#37096;&#21464;&#37327;<\/h3>\n<p>&#33258;PHP 5.4&#20197;&#26469;&#65292;&#20320;&#20063;&#21487;&#20197;&#36890;&#36807;&#24341;&#29992;&#20256;&#36882;&#21464;&#37327;&#21040;&#38381;&#21253;&#65292;&#20174;&#32780;&#20351;&#23427;&#33021;&#22815;&#20462;&#25913;&#22806;&#37096;&#21464;&#37327;&#12290;<\/p>\n<pre><code>&lt;?php\n$count = 0;\n$increment = function() use (&amp;$count) {\n    $count++;\n};\n$increment();\necho $count;  \/\/ Outputs: 1\n?&gt;<\/code><\/pre>\n<h3>&#22312;&#20869;&#32622;&#20989;&#25968;&#20013;&#30340;&#20351;&#29992;<\/h3>\n<p>&#38381;&#21253;&#24120;&#24120;&#20316;&#20026;&#22238;&#35843;&#20989;&#25968;&#20256;&#36882;&#32473;PHP&#30340;&#25968;&#32452;&#20989;&#25968;&#22914;<code>array_filter<\/code>&#21644;&#25105;&#26377;&#20160;&#20040;&#20107;&#24773;&#21527;&#65311;<code>array_map<\/code>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/p>\n<pre><code>&lt;?php\n$numbers = [1, 2, 3, 4, 5];\n$even = array_filter($numbers, function($num) {\n    return $num % 2 === 0;\n});\nprint_r($even);  \/\/ Outputs: Array ( [1] =&gt; 2 [3] =&gt; 4 )\n?&gt;<\/code><\/pre>\n<h2>&#39640;&#32423;&#38381;&#21253;&#27010;&#24565;<\/h2>\n<h3>&#20351;&#29992;<code>Callable<\/code>&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#20869;&#23481;&#12290;<\/h3>\n<p>PHP &#25903;&#25345;&#23545;&#35843;&#29992;&#32773;&#31867;&#22411;&#36827;&#34892;&#25552;&#31034;&#65292;&#20801;&#35768;&#20320;&#22312;&#21464;&#37327;&#26159;&#21542;&#20026;&#26377;&#25928;&#20989;&#25968;&#25110;&#38381;&#21253;&#26102;&#30830;&#20445;&#20854;&#26377;&#25928;&#24615;&#12290;<\/p>\n<pre><code>&lt;?php\nfunction runCalculation(callable $operation, $num1, $num2) {\n    return $operation($num1, $num2);\n}\n$result = runCalculation(function($a, $b){ return $a + $b; }, 5, 10);\necho $result;  \/\/ Outputs: 15\n?&gt;<\/code><\/pre>\n<h3>&#38381;&#21253;&#21644;&#23545;&#35937;&#20316;&#29992;&#22495;<\/h3>\n<p>&#38381;&#21253;&#20063;&#21487;&#20197;&#32465;&#23450;&#21040;&#23545;&#35937;&#30340;&#19978;&#19979;&#25991;&#65292;&#20351;&#24471;&#23427;&#20204;&#33021;&#22815;&#35775;&#38382;&#35813;&#23545;&#35937;&#30340;&#31169;&#26377;&#21644;&#21463;&#20445;&#25252;&#30340;&#23646;&#24615;&#12290;<\/p>\n<pre><code>&lt;?php\nclass Test {\n    private $value = 1;\n    public function getClosure() {\n        return function() { return ++$this-&gt;value; };\n    }\n}\n$test = new Test();\n$closure = $test-&gt;getClosure();\n$closure = $closure-&gt;bindTo($test, 'Test');\necho $closure();  \/\/ Outputs: 2\n?&gt;<\/code><\/pre>\n<h3>&#38745;&#24577;&#21464;&#37327;&#65288;Static Variables&#65289;<\/h3>\n<p>&#38381;&#21253;&#21487;&#20197;&#20351;&#29992;&#38745;&#24577;&#21464;&#37327;&#26469;&#22312;&#35843;&#29992;&#20043;&#38388;&#32500;&#25252;&#29366;&#24577;&#12290;<\/p>\n<pre><code>&lt;?php\n$counter = function() {\n    static $count = 0;\n    $count++;\n    return $count;\n};\necho $counter();  \/\/ Outputs: 1\necho $counter();  \/\/ Outputs: 2\n?&gt;<\/code><\/pre>\n<h3>&#24207;&#21015;&#21270;<\/h3>\n<p>&#33258;PHP 7.4&#29256;&#20197;&#26469;&#65292;&#38381;&#21253;&#21487;&#20197;&#24207;&#21015;&#21270;&#21644;&#21453;&#24207;&#21015;&#21270;&#65292;&#20351;&#24471;&#26356;&#23481;&#26131;&#22312;&#19981;&#21516;&#22320;&#26041;&#20256;&#36882;&#23427;&#20204;&#25110;&#23558;&#20854;&#23384;&#20648;&#36215;&#26469;&#20379;&#20197;&#21518;&#20351;&#29992;&#12290;<\/p>\n<pre><code>&lt;?php\n$serializeClosure = function($value) {\n    return $value * 2;\n};\n$serialized = serialize(new SerializableClosure($serializeClosure));\n$unserializedClosure = unserialize($serialized);\necho $unserializedClosure(5);  \/\/ Outputs: 10\n?&gt;<\/code><\/pre>\n<h2>&#32467;&#35770;&#12290;<\/h2>\n<p>&#38381;&#21253;&#22312;PHP&#20013;&#25552;&#20379;&#20102;&#19968;&#31181;&#24378;&#22823;&#30340;&#26041;&#27861;&#26469;&#21019;&#24314;&#21311;&#21517;&#20989;&#25968;&#65292;&#36825;&#20123;&#20989;&#25968;&#21487;&#20197;&#20174;&#20854;&#21608;&#22260;&#30340;&#20316;&#29992;&#22495;&#25429;&#33719;&#21464;&#37327;&#24182;&#20445;&#25345;&#29366;&#24577;&#12290;&#36890;&#36807;&#25484;&#25569;&#38381;&#21253;&#65292;&#24744;&#25171;&#24320;&#20102;&#20351;&#29992;PHP&#20013;&#30340;&#26356;&#21151;&#33021;&#21270;&#32534;&#31243;&#39118;&#26684;&#30340;&#22823;&#38376;&#65292;&#22312;&#20195;&#30721;&#24211;&#20013;&#23454;&#29616;&#26356;&#39640;&#30340;&#27169;&#22359;&#24615;&#21644;&#20851;&#27880;&#28857;&#20998;&#31163;&#12290;<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#20171;&#32461; &#38381;&#21253;&#65292;&#19982;&#20989;&#25968;&#24335;&#32534;&#31243;&#32039;&#23494;&#30456;&#20851;&#30340;&#19968;&#20010;&#27010;&#038;#24565..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[38],"tuisongtax":[],"class_list":["post-446","my1js","type-my1js","status-publish","hentry","my1js2nav-jcyy"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=446"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=446"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=446"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}