上篇文章為大家介紹了《什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)》,本文繼續介紹PHP中什麼是內部函數?其調用方式是?和外部函數的差別是?本篇文章,將會讓你們有不一樣的收穫,一起去繼續探索PHP的奧秘吧! ! !
什麼是內部函數:
#在函數內部宣告的函數就是內部函數;
#具體我們以程式碼為例:
<?php //内部函数 function outer(){ //在outer函数内部在定义一个函数(内部函数) function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉'; } } //内部函数如何调用 inner(); ?>
程式碼解析:
首先,我們先定義一個函數outer(),緊接著我們在outer函數的內部再次定義一個函數,此時我們定義的函數就是內部函數,其次我們輸出(echo)一推字串,
然而,我們如何呼叫內部函數,首先,我們直接呼叫inner(),運行結果顯示報錯,呼叫了未定義的inner(),但是我們看到上述程式碼,我們可以知道,我們已經定義過了,因此我們可以說明,內部函數在外部不能夠直接呼叫。
<?php /******内部函数*****/ function outer(){ //在outer函数内部再次定义个函数 (内部函数) function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉' ; } inner(); } //内部函数如何调用 //inner();内部函数在外部无法直接调用 //内部函数在函数内部如何调用是否有先后顺序 outer(); ?>
然而當我們在函數內部呼叫inner(),如果我們想讓它正常執行,我們只需呼叫outer()即可,即可得到我們輸入的結果:如下圖:
如果我們把inner()放在定義函數的上面結果什麼樣子呢?
根據結果顯示,不能呼叫未定義的inner()
<?php /******内部函数*****/ function outer(){ //在outer函数内部再次定义个函数 (内部函数) inner(); function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉' ; } } //内部函数如何调用 //inner();内部函数在外部无法直接调用 //内部函数在函数内部如何调用是否有先后顺序 outer(); ?>
因此我們了解到,inter()不能調用,因為PHP解析器知識預先載入函數,並沒有執行outer函數,所以不知道內部情況;
當內部函數在外部函數時,又是如何調用的?
<?php /******内部函数*****/ function outer(){ //在outer函数内部再次定义个函数 (内部函数) function inner(){ echo '千帆过尽,回首当年,那份纯净的梦想早已渐行渐远,如今岁月留下的,只是满目荒凉' ; } } //内部函数如何调用 //inner();内部函数在外部无法直接调用 //内部函数在函数内部如何调用是否有先后顺序 //outer(); //内部函数在外部函数,如何调用 outer(); inner(); ?>
程式碼解析:
如果我們想要讓外部函數生效,要先呼叫outer(),當我們有了內部函數之後,我們在呼叫inner()函數的調用,我們會發現也會出現我們所要輸出的內容;
#根據上述文章內容,我們總結如下(內部函數和外部函數的區別是):
1.在函數外部是否可以呼叫部函數?
不可以直接調用,但是如果調用外部函數之後,就可以任意調用內部函數
2.在函數內部是否可以調用內部函數?
可以調用, 但是必須在內部函數定義之後調用,因為PHP解析器只會載入外部函數並不會執行外部函數,所以不知道外部函數中還有
內部函數。
推薦學習:《PHP影片教學》
以上是PHP中什麼是內部函數?其調用方式是?和外部函數的差別是?的詳細內容。更多資訊請關注PHP中文網其他相關文章!