array_walk() 的问题

来源:5-5 [PDO] 数据库操作类之主键查询

黎子颖

2015-10-18 20:49

array_walk($arr,array('PDOmysql','function'));这是给数组$arr中的成员应用PDOmsql类中的静态函数function  

但是问题来了,如果应用的不是静态函数呢 该怎么写第二个参数 如果仅仅写名字 貌似有warning


写回答 关注

2回答

  • pardon110
    2015-11-04 16:45:31
    已采纳

    array_walk()常在函数中使用,它在类内部的应用规范如下:

    如果是静态类,这样调用array_walk($array, array('self', 'walkFunction'));

    或者array_walk($array, array('className', 'walkFunction')); className指当前的类名

    非静态类
    array_walk($array, array($this, 'walkFunction'));

    其中walkFunction为类的方法名,如果没有实现的话,会报warning.


    DscJok...

    非常感谢

    2021-10-24 02:24:27

    共 2 条回复 >

  • 慕粉1311528564
    2017-03-13 15:51:27

    我继续问一下。通过检索资料发现,当类中有tatic关键字修饰的方法或属性我们把它称为静态类。那么一个类中既有静态方法,又有非静态方法。这个类是不是静态类?如果是静态类,那么我array_walk里应用这个静态类里的非静态方法也应该可以。如题主问的‘如果应用的不是静态函数呢 该怎么写第二个参数 如果仅仅写名字 貌似有warning’这里用的就是静态类里的非静态函数就不应该报warning。还是说静态类与非静态类的区别是在我们引用的方法是静态还是动态的来,动态的区别该类是静态的还是动态的类。哈哈,这最后一句好像有点拗口。简单来说就是静态类与非静态类的具体区别。

PDO—数据库抽象层

本教程主要通过实战演练深入剖析PDO以加深理解

30036 学习 · 396 问题

查看课程

相似问题