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

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

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

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

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号