讓我們從這個示例類開始: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 關注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消