为了账号安全,请及时绑定邮箱和手机立即绑定

方法同时返回并重置属性?

方法同时返回并重置属性?

PHP
一只斗牛犬 2023-09-08 17:08:33
让我们从这个示例类开始: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);
    }


查看完整回答
反对 回复 2023-09-08
  • 1 回答
  • 0 关注
  • 59 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信