sasasada 2021-02-07 20:46 采纳率: 100%
浏览 77
已采纳

PHP 提示没有定义变量

<?php

    class C{
        function __call($name,$num){
            echo "方法名称:".$name."<p>";
            echo "参数存在个数:".count($num)."<p>";
            if(count($num) == 1){
                echo $this->list1($a);
            }
            if(count($num) == 2){
                echo $this->list2($a,$b);
            }
        }
        
        public function list1($a){
            return "这是list1函数";
        }
        
        public function list2($a,$b){
            return "这是list2函数";
        }
    }
    
    $a = new C;
    $a->listshow(4,3);
    

?>

刚刚开始接触多态。网页提示

我有两个疑问:1)怎样消除这个notice。2)构造函数__call($name,$num)里的形参$name为什么会接受值为'listhow',而不是$a->listhow(1,2)中的'1',$num为什么是参数个数,为不是$a->listhow(1,2)中的'2'。

  • 写回答

4条回答 默认 最新

  • 子幽 2021-02-08 09:00
    关注

    划红线的定义一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:我知道这个问题对你们来说肯定so easy
  • ¥15 wpf datagrid如何实现多层表头
  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography