让我们从这个示例类开始:class Widget { private static $items = []; public static function resetitems() { self::$items = []; } public static function getitems() { return self::$items; } public static function doobie() { // does something and adds a ton of junk to self::$items }}现在可以这样完成获取和重置属性的方法: Widget::doobie(); $items = Widget::getitems(); Widget::resetitems();但是,我不是总是必须resetitems在之后调用getitems(当意图始终是获取和重置时),而是尝试找到一种更优雅的方法来getitems在返回期间自动执行此操作。我可以这样做: public static function getitems() { $wasteofspace = self::$items; self::resetitems(); return $wasteofspace; }但难道不应该有一种方法可以返回直接属性本身并同时调用重置吗?像这样的东西(但这显然行不通哈哈): public static function getitems() { return self::$items & self::resetitems(); }
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
您可以使用array_splice():
public static function get_and_reset_items() { return array_splice(self::$items, 0); }
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消