php 有函数内部函数的定义吗?

classA{privateprop;publicfunctionfunc1(){functionfunc2(){//就是这个函数内部的函数}}}像这样的有吗?这个写法貌... class A{
private prop;

public function func1(){

function func2(){
//就是这个函数内部的函数
}

}
}
像这样的有吗?这个写法貌似不对啊,虽然可以用第一次调用func1没问题,第二次调用func1就是重复定义func2,好像每运行一遍就注册了一遍这个内部函数啊。和别的语言不一样啊。
那有内部函数这种定义方法吗?
展开
 我来答
匿名用户
推荐于2016-01-03
展开全部

可以这样写,但调用的时候有些诀窍

$obj = new A;
$F   = $obj -> func1(); //这个调用只能出现一次
$obj -> func2();  //上面的调用了之后, 这里就可以直接调用内部函数了
更多追问追答
追问
我是希望能注册一个嵌套函数,作为局部函数来使用,到最后嵌套的变公有了,而且func1还变成一次性函数,只能调用一次。。。那我不如都放外头算了。。好郁闷啊。感觉php即时编译性太强了,完全覆盖了某些面向对象的特性啊,有利有弊么
追答

弄成局部函数简单啊,不过我也没怎么理解到你的意思, 你是意思是否这个局部函数只能在类class中调用?而不能在类对象外部调用?

如果是这个意思的话, 那就不要把函数嵌套,都放外头

只不过,在函数前面加一个 private

private   只能类内部调用

public    任何地方都可以调用

 

或者改成这样试试

class A{

    private prop;


    public function func1(){
       if ( !function_exists( 'func2' ) ) {

        function func2(){

          //就是这个函数内部的函数

        }
      }

    }

}
兴元驹29
2014-11-11 · TA获得超过123个赞
知道答主
回答量:120
采纳率:100%
帮助的人:63.8万
展开全部
没看明白,有没有代码?在函数里面参数是直接用的,在定义一个参数值就没了
求采纳为满意回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abcd5849049
2014-11-11 · TA获得超过135个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:167万
展开全部
class A{
private prop;

public function func1(){
$this->func2();
}

public function func2(){
//就是这个函数内部的函数
}

}
追问
就是没办法定义成类似局部函数的函数?只能拉到外面来?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蒲公英花开丶
高粉答主

推荐于2018-03-28 · 每个回答都超有意思的
知道大有可为答主
回答量:3.2万
采纳率:96%
帮助的人:2363万
展开全部
  php 有很多标准的函数和结构。还有一些函数需要和特定地 php 扩展模块一起编译,否则在使用它们的时候就会得到一个致命的“未定义函数”错误。
  例如,要使用图像函数比如 imagecreatetruecolor(),需要在编译 php 的时候加上 GD 的支持。或者,要使用mysql_connect() 函数,就需要在编译 php 的时候加上 MySQL 支持。有很多核心函数已包含在每个版本的 php 中如字符串和变量函数。调用 phpinfo() 或者 get_loaded_extensions() 可以得知 php 加载了那些扩展库。同时还应该注意,很多扩展库默认就是有效的。php 手册按照不同的扩展库组织了它们的文档。请参阅配置,安装以及各自的扩展库章节以获取有关如何设置 php 的信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式