亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP匿名函數與注意事項詳解

2024-09-04 11:49:18
字體:
來源:轉載
供稿:網友

匿名函數是PHP5.3引進來了,php5.3不但引進了匿名函數還有更多更好多新的特性了,下面我們一起來了解一下PHP匿名函數與注意事項詳解

PHP5.2 以前:autoload, PDO 和 MySQLi, 類型約束

PHP5.2:JSON 支持

PHP5.3:棄用的功能,匿名函數,新增魔術方法,命名空間,后期靜態綁定,Heredoc 和 Nowdoc, const, 三元運算符,Phar

PHP5.4:Short Open Tag, 數組簡寫形式,Traits, 內置 Web 服務器,細節修改

PHP5.5:yield, list() 用于 foreach, 細節修改

PHP5.6: 常量增強,可變函數參數,命名空間增強

現在基本上都使用PHP5.3以后的版本,但是感覺普遍一個現象就是很多新特性,過了這么長時間,還沒有完全普及,在項目中很少用到。

看看PHP匿名函數:

 'test' => function(){
        return 'test'
},

PHP匿名函數的定義很簡單,就是給一個變量賦值,只不過這個值是個function。

以上是使用Yii框架配置components文件,加了一個test的配置。

在另一個模板頁面打印試試:

test ?>//test

OK.

什么是PHP匿名函數?

看官方解釋:

匿名函數(Anonymous functions),也叫閉包函數(closures),允許 臨時創建一個沒有指定名稱的函數。最經常用作回調函數(callback)參數的值。當然,也有其它應用的情況。

匿名函數示例:

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');
// 輸出 helloWorld
?>

閉包函數也可以作為變量的值來使用。PHP 會自動把此種表達式轉換成內置類 Closure 的對象實例。把一個 closure 對象賦值給一個變量的方式與普通變量賦值的語法是一樣的,最后也要加上分號:

匿名函數變量賦值示例

<?php

$greet = function($name)
{
    printf("Hello %s/r/n", $name);
};
 
$greet('World');
$greet('PHP');
?>

閉包可以從父作用域中繼承變量。 任何此類變量都應該用 use 語言結構傳遞進去。

從父作用域繼承變量:

<?php
$message = 'hello'
 
// 沒有 "use"
$example = function () {
    var_dump($message);
};
echo $example();
 
// 繼承 $message
$example = function () use ($message) {
    var_dump($message);
};
echo $example();
 
// Inherited variable's value is from when the function
// is defined, not when called
$message = 'world'
echo $example();
 
// Reset message
$message = 'hello'
 
// Inherit by-reference
$example = function () use (&$message) {
    var_dump($message);
};
echo $example();
 
// The changed value in the parent scope
// is reflected inside the function call
$message = 'world'
echo $example();
 
// Closures can also accept regular arguments
$example = function ($arg) use ($message) {
    var_dump($arg . ' ' . $message);
};
$example("hello");
?>

以上例程的輸出類似于:

Notice: Undefined variable: message in /example.php on line 6
NULL
string(5) "hello"
string(5) "hello"
string(5) "hello"
string(5) "world"
string(11) "hello world"
 

php中的匿名函數的注意事項

在php5.3以后,php加入匿名函數的使用,今天在使用匿名的時候出現錯誤,不能想php函數那樣聲明和使用,詳細看代碼

$callback=function(){ 
  return "aa"; 
}; 

echo $callback(); 

這是打印出來是aa;

看下面的例子:

echo $callback(); 
$callback=function(){ 
  return "aa"; 
}; 

這是報錯了!報的錯誤時:

Notice: Undefined variable: callback in D:/php/www/zf2/public/04.php on line 9
Fatal error: Function name must be a string in D:/php/www/zf2/public/04.php on line 9

$callback為未聲明,

但是使用php自己聲明的函數都不會報錯的!

function callback(){ 
  return "aa"; 
echo callback();  //aa 
 
echo callback();  //aa 
function callback(){ 
  return "aa"; 

這兩個都打印出來aa;

在使用匿名函數的時候,匿名函數當做變量,須提前聲明,js中也是這樣的?。。。?!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区免费视频| 亚洲第一天堂无码专区| 久久精品国产2020观看福利| 久久久91精品国产一区不卡| 亚洲全黄一级网站| 国产精品美女久久久久av超清| 91九色在线视频| 成人日韩在线电影| 日韩精品免费在线观看| 亚洲一二在线观看| 亚洲第一综合天堂另类专| 亚洲资源在线看| 亚洲午夜久久久久久久| 另类美女黄大片| 久久露脸国产精品| 日韩av在线一区| 亚洲欧美成人网| 欧美一级大胆视频| 亚洲欧美另类自拍| 亚洲欧美制服综合另类| 国产一区二区在线免费视频| 国产一区二区动漫| 欧美激情视频在线免费观看 欧美视频免费一| 国产99久久精品一区二区 夜夜躁日日躁| 91精品国产综合久久男男| 国产xxx69麻豆国语对白| 日韩在线视频线视频免费网站| 亚洲精选中文字幕| 久久久精品视频在线观看| 国产aaa精品| 久久香蕉精品香蕉| 成人av在线网址| 亚洲精品欧美一区二区三区| 国产精品久久网| 亚洲人在线观看| 国产精品视频网站| 日韩风俗一区 二区| 91经典在线视频| 欧美电影免费观看| 久久久av电影| 亚洲国产精品成人av| 69久久夜色精品国产69| 精品少妇v888av| 456国产精品| 一本一道久久a久久精品逆3p| 亚洲国产精品va在线看黑人动漫| 欧美激情久久久| 97人人做人人爱| 日韩欧美在线国产| 欧美在线影院在线视频| 欧美在线观看一区二区三区| 成人信息集中地欧美| 日韩天堂在线视频| 国产亚洲精品久久久久久牛牛| 亚洲精品福利在线观看| 国产免费一区二区三区在线能观看| 日韩在线观看网址| 九色成人免费视频| 国产一区二区三区在线播放免费观看| 亚洲视频日韩精品| 精品一区二区三区电影| 亚洲欧洲免费视频| 欧洲亚洲免费视频| 最近2019年手机中文字幕| 欧美性极品xxxx做受| 疯狂做受xxxx高潮欧美日本| 精品久久久久久久久久久| 国产精品久久久久久超碰| 欧美日韩国产一区二区三区| 亚洲视频在线免费看| 91探花福利精品国产自产在线| 98精品国产自产在线观看| 精品久久久久久亚洲国产300| 欧美xxxx14xxxxx性爽| 亚洲黄色av女优在线观看| 欧美性猛交xxxx偷拍洗澡| 国产欧美日韩最新| 久久露脸国产精品| 91九色视频在线| 欧美第一淫aaasss性| 主播福利视频一区| 亚洲精品在线观看www| 亚洲欧美日韩久久久久久| 亚洲欧美国产精品| 欧美精品videosex牲欧美| 91欧美精品成人综合在线观看| 国产网站欧美日韩免费精品在线观看| 在线看国产精品| 成人免费激情视频| 国产亚洲欧洲高清一区| 亚洲色图25p| 久久人人爽亚洲精品天堂| 国产亚洲一区二区在线| 久久五月天综合| 韩日欧美一区二区| 精品中文字幕乱| 欧洲亚洲女同hd| 欧美壮男野外gaytube| 久久av在线播放| 欧美日韩国产第一页| 一区二区欧美亚洲| 俺去了亚洲欧美日韩| 成人激情视频网| 国产欧美va欧美va香蕉在线| 欧美精品激情视频| 97久久精品人搡人人玩| 国产中文字幕亚洲| 91精品国产777在线观看| 久久久免费av| 精品偷拍一区二区三区在线看| 在线观看精品国产视频| 久久久视频精品| 少妇高潮 亚洲精品| 日韩网站在线观看| 毛片精品免费在线观看| 热久久这里只有| 日韩精品视频三区| 久久精品电影网| 国产成人精品久久二区二区| 欧美日韩国内自拍| 国产精品一区二区女厕厕| 最新国产成人av网站网址麻豆| 国产免费成人av| 欧美大荫蒂xxx| 久久免费在线观看| 国产精品亚洲第一区| 国产精品91免费在线| 国产精品视频一区二区高潮| 91黄色8090| 成人免费观看网址| 深夜福利亚洲导航| 青青草原一区二区| 一区二区三区四区在线观看视频| 欧美亚洲一区在线| 欧美一级淫片videoshd| 国产大片精品免费永久看nba| 国产精品扒开腿做爽爽爽视频| 欧美精品久久久久久久久久| 疯狂蹂躏欧美一区二区精品| 亚洲va欧美va国产综合久久| 国产精品福利网| 国产精品video| 日韩理论片久久| 久久99久国产精品黄毛片入口| 成人av.网址在线网站| www.亚洲人.com| 高跟丝袜一区二区三区| 亚洲一区二区少妇| 欧美国产日韩在线| 亚洲第一页中文字幕| 久久精品夜夜夜夜夜久久| 亚洲男人天堂2019| 久久精品电影网| 欧美区在线播放| 亚洲综合自拍一区| 日韩成人黄色av| 国产日韩欧美在线视频观看| 国内免费久久久久久久久久久| 在线观看欧美www| 中文字幕日韩欧美| 中文字幕精品在线视频| 欧美在线亚洲一区| 欧美精品久久久久久久免费观看| 精品激情国产视频|