讓我們從這個(gè)示例類開始: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 }}現(xiàn)在可以這樣完成獲取和重置屬性的方法: Widget::doobie(); $items = Widget::getitems(); Widget::resetitems();但是,我不是總是必須resetitems在之后調(diào)用getitems(當(dāng)意圖始終是獲取和重置時(shí)),而是嘗試找到一種更優(yōu)雅的方法來getitems在返回期間自動(dòng)執(zhí)行此操作。我可以這樣做: public static function getitems() { $wasteofspace = self::$items; self::resetitems(); return $wasteofspace; }但難道不應(yīng)該有一種方法可以返回直接屬性本身并同時(shí)調(diào)用重置嗎?像這樣的東西(但這顯然行不通哈哈): public static function getitems() { return self::$items & self::resetitems(); }
1 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用array_splice():
???public?static?function?get_and_reset_items()?{ ???????????return?array_splice(self::$items,?0); ????}
- 1 回答
- 0 關(guān)注
- 104 瀏覽
添加回答
舉報(bào)
0/150
提交
取消