function test_forget_and_drop() { $data = array('names' => array('developer1' => 'Tonya', 'developer2' => 'Julie', 'developer3' => 'Mike')); wpdevsclub_array_forget($data, 'names.developer1'); Arr::forget($data, 'names.developer3'); $this->assertFalse(isset($data['names']['developer1'])); $this->assertFalse(isset($data['names']['developer3'])); $this->assertTrue(isset($data['names']['developer2'])); $this->assertEquals(array('names' => array('developer2' => 'Julie')), $data); $data = array('names' => array('developer1' => 'Tonya', 'developer2' => 'Julie', 'developer3' => 'Mike'), 'emails' => array('developer1' => 'foo', 'developer2' => 'bar', 'developer3' => 'baz')); $expected = array('names' => array('developer2' => 'Julie', 'developer3' => 'Mike'), 'emails' => array('developer1' => 'foo', 'developer2' => 'bar')); wpdevsclub_array_forget($data, 'names.developer1'); Arr::forget($data, 'emails.developer3'); $this->assertFalse(isset($data['names']['developer1'])); $this->assertFalse(isset($data['emails']['developer3'])); $this->assertTrue(isset($data['names']['developer3'])); $this->assertTrue(isset($data['emails']['developer1'])); $this->assertEquals($expected, $data); }
/** * Remove one or many array items from a given array using "dot" notation. * * @param array $array * @param array|string $keys * @return void */ function wpdevsclub_array_forget(&$array, $keys) { return Arr::forget($array, $keys); }