php自定義函數(shù)之內(nèi)部函數(shù)
內(nèi)部函數(shù),是指在函數(shù)內(nèi)部又聲明了一個(gè)函數(shù)。
注意事項(xiàng):
????1.內(nèi)部函數(shù)名,不能是已存在的函數(shù)名
????2.假設(shè)在函數(shù)a里面定義了一個(gè)內(nèi)部函數(shù),不能定用兩次函數(shù)a。
我們下面來(lái)看代碼,你將很快的學(xué)習(xí)會(huì):
<?php function foo() { echo '我是函數(shù)foo喲,調(diào)一下我才會(huì)執(zhí)行定義函數(shù)bar的過(guò)程<br />'; function bar() { echo '在foo函數(shù)內(nèi)部有個(gè)函數(shù)叫bar函數(shù)<br />'; } } //現(xiàn)在還不能調(diào)用bar()函數(shù),因?yàn)樗€不存在 bar(); foo(); //現(xiàn)在可以調(diào)用bar()函數(shù)了,因?yàn)閒oo()函數(shù)的執(zhí)行使得bar()函數(shù)變?yōu)橐讯x的函數(shù) bar(); //再調(diào)一次foo()看看是不是會(huì)報(bào)錯(cuò)? foo(); ?>
你會(huì)發(fā)現(xiàn),在上面foo() 函數(shù)內(nèi)部又定義了一個(gè)bar函數(shù),這就是內(nèi)函數(shù)數(shù)。
仔細(xì)觀察和實(shí)驗(yàn)后你會(huì)得出如下的結(jié)論:
????1.foo()調(diào)用兩次會(huì)報(bào)錯(cuò)
????2.如果不調(diào)foo()函數(shù)無(wú)法執(zhí)行bar函數(shù),因?yàn)閎ar是在foo的內(nèi)部