LittleBai117
- LittleBai117 2017-09-12 已签到连续签到2天,获得了10个金钱
- LittleBai117 2017-09-11 已签到连续签到1天,获得了5个金钱
- LittleBai117 2017-09-08 已签到连续签到2天,获得了10个金钱
- LittleBai117 2017-09-07 已签到连续签到1天,获得了5个金钱
- LittleBai117 2017-08-22 已签到连续签到1天,获得了5个金钱
- LittleBai117 回复了 vishun 的回复
挺不错的,但是$removed是不能去掉的,否则只等于一次,直接就return true了,而原代码可能会删除好多个。而且多次array_splice会比array_values高吗?并不一定吧。
foreach (self::$_events[$name][$class] as $i => $event){ if($event[0] === $handler){ array_splice(self::$_events[$name][$class], $i, 1); return true;//直接就跳出了 } } return false;
确实,$removed是不能去掉的。如果考虑会有删除多个绑定事件的情况,那我觉得还是源码比较高效,最后进行一次排序。而我改的,是在每次删除后都排序,性能应该差点。(最近在忙公司的项目,没有继续看源码,后续会再深挖下这块的源码)
谢谢,您的互动,学习到了。