• 技术文章 >后端开发 >php教程

    学习php 类,遇到一个基础有关问题,求好心人解答

    2016-06-13 12:00:43原创241
    学习php 类,遇到一个基础问题,求好心人解答。
    本帖最后由 zxm_99 于 2014-06-23 23:16:05 编辑

    代码如下图,蓝色执行显示1,红色显示6 ,需要的是显示6;

    请问bbb()中怎么才能使用aaa()中的$c呢?只有通过红色框中那方法吗?(感觉好麻烦)
    如果不用红色框中那样的方法,但aaa()中有很多个$c这样的变量,这些变量在bbb()中需要用到,该怎么办?
    ------解决方案--------------------
    你的 bbb 方法中的这句
    $c = $c + 1;
    会有一个 Notice: Undefined variable: c 警告 ($c 没有定义就取值了)
    虽然你屏蔽了 E_NOTICE 级别的错误信息,但并不表示不存在问题。尽管在这里无碍大局

    class ceshi {
    public function aaa($a) {
    $this->c = $a;
    $r = $this->bbb();
    echo $r;
    }
    public function bbb() {
    $c = $this->c + 1;
    return $c;
    }
    }
    $xyz = new ceshi;
    $xyz->aaa(5);

    这样就输出 6 了


    ------解决方案--------------------


    //使用类的属性
    class ceshi {
    private $c;
    public function aaa($a) {
    $this->c = $a;
    echo $this->bbb();
    }
    public function bbb() {
    return $this->c + 1;
    }
    }
    $xyz = new ceshi;
    $xyz->aaa(5);



    ------解决方案--------------------
    使用類屬性變量就可以了。

    private $c; 再類中任何function都可以調用到。


    class ceshi{

    private $c;

    public function aaa($a){
    $this->c = $a;
    $k = $this->bbb();
    echo $k;
    }

    public function bbb(){
    $this->c = $this->c + 1;
    return $this->c;
    }
    }

    $xyz = new ceshi;
    $xyz->aaa(5);
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp this function public bbb
    上一篇:php登陆后,如若通过cookie获取登录的用户名 下一篇:替每篇文章都在用户那加个COOKIE代表已查看过.合理吗
    PHP编程就业班

    相关文章推荐

    • php模板引擎技术简单实现_php实例• Yii中实现处理前后台登录的新方法_php实例• php获取bing每日壁纸示例分享_php实例• fckeditor调用的有关问题• phpmyadminn装配

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网