public function testForget() { $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, null); $this->assertEquals(['products' => ['desk' => ['price' => 100]]], $array); $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, []); $this->assertEquals(['products' => ['desk' => ['price' => 100]]], $array); $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, 'products.desk'); $this->assertEquals(['products' => []], $array); $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, 'products.desk.price'); $this->assertEquals(['products' => ['desk' => []]], $array); $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, 'products.final.price'); $this->assertEquals(['products' => ['desk' => ['price' => 100]]], $array); $array = ['shop' => ['cart' => [150 => 0]]]; Arr::forget($array, 'shop.final.cart'); $this->assertEquals(['shop' => ['cart' => [150 => 0]]], $array); $array = ['products' => ['desk' => ['price' => ['original' => 50, 'taxes' => 60]]]]; Arr::forget($array, 'products.desk.price.taxes'); $this->assertEquals(['products' => ['desk' => ['price' => ['original' => 50]]]], $array); $array = ['products' => ['desk' => ['price' => ['original' => 50, 'taxes' => 60]]]]; Arr::forget($array, 'products.desk.final.taxes'); $this->assertEquals(['products' => ['desk' => ['price' => ['original' => 50, 'taxes' => 60]]]], $array); $array = ['products' => ['desk' => ['price' => 50], null => 'something']]; Arr::forget($array, ['products.amount.all', 'products.desk.price']); $this->assertEquals(['products' => ['desk' => [], null => 'something']], $array); // Only works on first level keys $array = ['*****@*****.**' => 'Joe', '*****@*****.**' => 'Jane']; Arr::forget($array, '*****@*****.**'); $this->assertEquals(['*****@*****.**' => 'Jane'], $array); // Does not work for nested keys $array = ['emails' => ['*****@*****.**' => ['name' => 'Joe'], 'jane@localhost' => ['name' => 'Jane']]]; Arr::forget($array, ['*****@*****.**', 'emails.jane@localhost']); $this->assertEquals(['emails' => ['*****@*****.**' => ['name' => 'Joe']]], $array); }