第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP 執(zhí)行函數(shù)作為函數(shù)的參數(shù)

PHP 執(zhí)行函數(shù)作為函數(shù)的參數(shù)

PHP
UYOU 2022-06-11 09:49:45
在 PHP 中是否可以將執(zhí)行的函數(shù)作為函數(shù)的參數(shù)傳遞,以便函數(shù)的結(jié)果將被移交而不是回調(diào)函數(shù)對(duì)象?無(wú)需觸及范圍功能(沒有 eval 或額外的魔法執(zhí)行)。比方說(shuō),我要給函數(shù)的參數(shù)不清楚。因此,在賦予該功能之前必須對(duì)此做出決定。目前這總是看起來(lái)像這樣:$tmp = ($something == $bla)?42:7;myFunction($tmp);對(duì)于這么短的決定,它不是那么成問(wèn)題。但有時(shí)有兩種以上的可能性。所以需要一個(gè) if-elseif,或者一個(gè) switch-case。但是像這樣放一些東西會(huì)更干凈:myFunction(function(){    if(...){ return 42; }    elseif(...){ return 7; }    elseif(...){ return 5; }    elseif(...){ return 12; }    else{ return 1; }});因此,無(wú)需先將其保存到變量中。只是為了更簡(jiǎn)潔的代碼,更少$tmp或$trash變量。
查看完整描述

2 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

匿名函數(shù)變量函數(shù)應(yīng)該是您正在尋找的:

匿名函數(shù),也稱為閉包,允許創(chuàng)建沒有指定名稱的函數(shù)。它們作為回調(diào)參數(shù)的值最有用,但它們還有許多其他用途。

匿名函數(shù)使用 Closure 類實(shí)現(xiàn)

還有一個(gè)代碼示例:

<?php

$greet = function($name)

{

    printf("Hello %s\r\n", $name);

};


$greet('World');

$greet('PHP');

?>

還有一個(gè)代碼示例,為了完整起見,關(guān)于如何將函數(shù)名作為參數(shù)傳遞,并在后面調(diào)用它:


<?php


function here() {

  print 'here';

}



function dynamo($name) {

 $name();

}


//Will work

dynamo('here');

//Will fail

dynamo('not_here');


查看完整回答
反對(duì) 回復(fù) 2022-06-11
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

所以隨著對(duì)匿名函數(shù)的理解(感謝Lucas Meine),我發(fā)現(xiàn)你可以直接執(zhí)行一個(gè)函數(shù),方法是用括號(hào)括起來(lái),后面跟著參數(shù)括號(hào),這取決于你是否想給低級(jí)函數(shù)一些主要上下文之外的變量。


在以下所有示例中,輸出var_dump為42。


沒有可變參數(shù)的例子

// the function that should later be called

function myFunction($test){

    var_dump($test);

}


// function call with a executed function as parameter

myFunction((function(){

    return 42;

})());

帶有可變參數(shù)的示例

$someVar = 42;


function myFunction($test){

    var_dump($test);

}


myFunction((function($tmp){

    return $tmp;

})($someVar));

或與use聲明


$someVar = 42;


function myFunction($test){

    var_dump($test);

}


myFunction((function() use ($someVar){

    return $someVar;

})());


查看完整回答
反對(duì) 回復(fù) 2022-06-11
  • 2 回答
  • 0 關(guān)注
  • 235 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)